1,jsp页面中文乱码
解决办法:文件头部定义指定页面显示编码
page language="java" import="java.util.*" contentType="text/html;
charset=GB2312" %>
2,URL传递参数中文乱码
解决方法:修改Tomcat服务器的配置文件
Tomcat的conf目录下的server.xml配置文件,具体改后的代码如下
[html]
URIEncoding="gb2312"
3,提交表单的中文乱码
解决方法:Tomcat中对于post方法提交的表单采用的默认编码为ISO-8859-1,而这种编码格式不支持中文字符。对于这个问题可以采用转换编码格式的方法来解决
String param =
request.getParameter("param");//获取参数 out.println("中文参数:" + new String(param.getBytes("ISO-8859-1"),
"gb2312");
4,采用PrintWriter方式输出中文乱码
解决方法:PrintWriter自身并没有处理编码的职责,它还是应该看成一个装饰器比较好:它就是为了输出更方便而设计的,提供print、println、printf等便利方法。
在servlet中输出中文,如果采用PrintWriter方式,需要在调用getPrintWriter()之前调用setContentType
或者 setCharacterEncoding
response.setContentType("text/html;
charset=utf-8");
response.setCharacterEncoding("utf-8");
5,ajax中文乱码
解决方法:ajax的中文问题已全部解决,从最初的jsp页面看过来,中文就是一个编码方式的问题,出现乱码的原因大部分是在错误的时间,错误的地点进行了编码的操作,且编码的类型一会儿GBK,一会儿GB2312,一会儿UTF-8,当然数据会乱掉了。
将前几种定义的编码方式统一即可