项目开发中常用乱码解决手段分享

本文涉及的产品
资源编排,不限时长
无影云电脑个人版,1个月黄金款+200核时
无影云电脑企业版,4核8GB 120小时 1个月
简介: 【4月更文挑战第3天】服务器中常用的几个资源监控工具整理

在做项目的过程中,遇到了中文乱码问题,该如何处理?(比如网站主页查询页面显示乱码)


可以从页面,程序,以及数据库三个方面去查看问题的原因所在,主页面显示中文乱码,无外乎是因为从数据库中取出来的数据传输到主页面的过程中出现了编码问题,那么就应该从这三个方面去查找问题的所在。因为我们常用UTF-8的编码格式,所以我们就检查所有数据的编码是否都是UTF-8编码。

1.  查看一下页面jsp文件的编码格式(1.3.1/1.3.2)

1.1、项目文本文件默认编码:

【右击项目】->【Properties】->【Resource】->【Text file encoding】

1.2、文件默认编码:默认使用项目的默认编码

【右击文件】->【Properties】->【Resource】->【Text file encoding】

1.3JSP文件编码:由于JSP要翻译为Servlet

1.3.1、JSP文件编码:

【右击文件】->【Properties】->【Resource】->【Text file encoding】

1.3.2、JSP翻译为Servlet时的编码: (此项可以由1.1,1.2,1.3.1代替)

<%@ page language="java" pageEncoding="utf-8"%>

1.3.3、从服务器将jsp内容输出到浏览器

<%@page contentType="text/html;charset=utf-8"%>

在这次输出过程中,由contentType属性中的charset来指定,将servlet编译后的的二进制码以charset的编码形式来输出。


2.  服务器端编码设置

服务器端编码,将客户端传过来的数据进行解码:

浏览器默认使用ISO-8859-1进行编码数据,然后将数据传输到服务器,因此我们默认只需要将浏览器发送过来的数据转换为我们需要的编码即可。

 

GET请求方式:

2.1 TOMCAT默认ISO-8859-1 因此可以设置默认编码为UTF-8解决,在conf\server.xml文件中设置如下

<Connector port="8080" protocol="HTTP/1.1"

connectionTimeout="20000"

redirectPort="8443" URIEncoding=”UTF-8”/>

 

2.2

String username = request.getParameter(“username”);

username = new String(username.getBytes("ISO-8859-1“), "UTF-8");

 

POST请求方式:

2.3 // 必须在获取参数之前,调用如下方法先解码

request.setCharacterEncoding(“UTF-8”);

String username = request.getParameter(“username”);

response.setContentType("text/html;charset=utf-8");


3.数据库的编码设置

 3.1 JDBC连接数据库的编码设置

   "jdbc:mysql://localhost:3306/jd1203db?useUnicode=true&characterEncoding=utf8","root","1234");

3.2 在建表或者建数据库时可以加上:

   create database jsd1203db ENGINE=InnoDB DEFAULT CHARSET=utf8;

3.3查看MySql数据中当前联接系统参数  show variables like 'char%',显示各个编码类型。

   可以show create database dangdang;通过该语句查看建库的语句,看是否有设置编码。

  如果各种编码都是对的,可是在数据库中查看数据时是乱码,可以用set names ‘gbk’,设置查看编码为gbk,与系统一致(windows)。 注意,这个设置只对当前会话有效。

目录
相关文章
|
4月前
|
SQL 开发框架 安全
Web开发中常见的安全缺陷及解决办法
Web开发中常见的安全缺陷及解决办法
|
5月前
|
JavaScript 前端开发 程序员
JS小白请看!一招让你的面试成功率大大提高——规范代码
JS小白请看!一招让你的面试成功率大大提高——规范代码
|
5月前
|
Java Android开发
Android项目架构设计问题之要提升代码的可读性和管理性如何解决
Android项目架构设计问题之要提升代码的可读性和管理性如何解决
48 0
|
6月前
codereview开发问题之CodeReview中如何判断注释问题如何解决
codereview开发问题之CodeReview中如何判断注释问题如何解决
|
6月前
|
Java Spring 容器
codereview开发问题之在CodeReview异常处理时的问题如何解决
codereview开发问题之在CodeReview异常处理时的问题如何解决
|
7月前
|
JSON 自然语言处理 前端开发
学会这个插件,职业生涯少写 1w 行代码。
学会这个插件,职业生涯少写 1w 行代码。
52 0
|
8月前
|
JSON 缓存 前端开发
编写代码前,如何规避尽可能多的前端bug?
编写代码前,如何规避尽可能多的前端bug?
82 0
|
8月前
|
安全 Java Android开发
iOS代码安全加固利器:深入探讨字符串和代码混淆器的作用
iOS代码安全加固利器:深入探讨字符串和代码混淆器的作用
86 0
|
IDE NoSQL Java
我来告诉你代码重构有什么好处
根据两本关于重构的书籍的作者 Martin Fowler的说法 “重构是改变软件系统的过程,它不会改变代码的外部行为,但会改善其内部结构。这是一种清理代码的严格方法,可以最大限度地减少引入错误的机会。本质上,当你重构时,你是在改进编写代码后的设计。”
258 0
|
SQL XML 存储
安全开发规范:开发人员必须了解开发安全规范(一)(涉及安全问题,以及解决方法和代码实现)
安全问题其实是很多程序员想了解又容易忽略的问题,但需要我们重视起来,提高应用程序的安全性。常出现的安全问题包括,程序接受数据可能来源于未经验证的用户,网络连接和其他不受信任的来源,如果未对程序接受数据进行校验,则可能会引发安全问题等等
6263 0
安全开发规范:开发人员必须了解开发安全规范(一)(涉及安全问题,以及解决方法和代码实现)