2014-10-10记录:
乱码问题是在10月份接私活时候,存入数据库时出现的,后来查出原因是mysql安装时候设置编码不正确,重装mysql解决。
先debug诊断是前台传后台出现乱码问题,还是存入数据库时候出现的问题。
1项目刚创建,要记得改gbk编码为u8
2前台传后台,web.xml为spring框架配置过滤器,或者servlet设置编码
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
<filter>
<filter-name>Spring character encoding filter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>GBK</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>Spring character encoding filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
3数据库创建的时候设置编码
SET character_set_client = utf8;
SET character_set_results = utf8;
SET character_set_connection = utf8;
如果sql语句添加是完好的,通过java代码添加是乱码,有可能是项目编码和数据库编码不一致造成的
4服务器操作系统默认编码问题,tomcat的编码是iso8859
apache-tomcat-6.0.20confserver.xml
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URLEncoding="UTF-8" useBodyEncodingForURI="true"/>
URLEncoding="UTF-8" useBodyEncodingForURI="true"
这两个都要。