分享

java web中中文乱码问题汇总

 昵称27831725 2015-10-30

java web中中文乱码问题汇总

(2012-11-21 19:37:31)
标签:

java

jsp

中文乱码

it

分类: java开发

1,jsp页面中文乱码

解决办法:文件头部定义指定页面显示编码

<%@ page language="java" import="java.util.*" contentType="text/html; charset=GB2312" %>

2,URL传递参数中文乱码
解决方法:修改Tomcat服务器的配置文件

Tomcat的conf目录下的server.xml配置文件,具体改后的代码如下

[html]
<Connector port="8080" protocol="HTTP/1.1" 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,当然数据会乱掉了。

将前几种定义的编码方式统一即可

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多