中国软件工程师不得不解决的一个有关问题—中文乱码

中国程序员不得不解决的一个问题—中文乱码

本人在学习Java的这段时间里,尤其是学习到J2EE这块内容时,经常遇到的一个问题就是中文乱码问题,特别的头疼,相信大家也会有同感,故在学习的时候不断的总结,发现解决这类问题无非是如下几点(以gb2312为例),和大家分享一下心得:

1、TOMCAT中解决中文乱码

在conf/server.xml文件中,增加一句URIEncoding="gb2312"的代码到下面的地方,选择合适的编码方式

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

redirectPort="8443" URIEncoding="gb2312"/>  

2、servlet中解决中文乱码

response.setContentType("content=text/html; charset=gb2312");

response.setCharacterEncoding("gb2312");
request.setCharacterEncoding("gb2312");

3、连接mysql数据库解决中文乱码

String url = "jdbc:mysql://localhost:3306/DBName?characterEncoding=gb2312";

4、HTML页面解决中文乱码

<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />

5、JSP页面解决中文乱码

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>

6、mysql数据库解决中文乱码

重新实例化,选择相应的编码方式

以上就是我目前所学到的知识中出现过的问题,相信还有更多的解决方案以及新的问题,所以也希望和大家一块来讨论一下,总结所有的中文乱码问题!


3楼czjuttsw昨天 21:30
貌似HttpServletResponse对象没有setCharacterEncoding方法吧。。。
2楼jianjun830昨天 19:30
好东西 学习啦
1楼qiaqia609昨天 19:19
有啊,是实现了ServletRespons接口的方法,设置将发送到客户端的响应的字符编码,很重要的方法,用的很频繁