彻底办理乱码

1.1 @ResponseBody 表明乱码

这种乱码是由于JSON字符串和工具进行序列号和反序列化的时候用涌现的问题,String转换的时候默认用的编码是ISO-8859-1。

springmvcjsp乱码Java法式员感悟Spring MVC彻底解决乱码 SQL

办理办法1: 在 @RequestMapping 要求映射的表明中属性 produces=\公众text/html;charset=UTF-8\"大众

办理办法2: 一劳永逸的办法 在spring配置中配置下

<mvc:annotation-driven >

<mvc:message-converters register-defaults=\"大众true\"大众>

<bean class=\"大众org.springframework.http.converter.StringHttpMessageConverter\"大众>

<property name=\公众supportedMediaTypes\"大众 value=\"大众text/html;charset=UTF-8\"大众/>

</bean>

</mvc:message-converters>

</mvc:annotation-driven>

办理办法3: 如果还不能办理GET涌现的乱码,就在JSP页面添加配置:

<%@ page language=\公众java\"大众 import=\"大众java.util.\"大众 pageEncoding=\公众UTF-8\"大众%>

1.2 数据库乱码

创建数据库的时候,一样平常都会选择 UTF-8的字符编码办法来创建数据库。
一样平常不会涌现来乱码问题,但是在配置 jdbc的时候,不把稳没有添加上配置,也可能涌现乱码:

jdbc.url= jdbc:mysql://localhost:3306/testdb?characterEncoding=UTF-8

1.3 control 层编码格式问题

如果利用:request.setCharacterEncoding(\"大众UTF-8\"大众);

相应也利用:response.setContentType(\公众application/json;charset=UTF-8\"大众);

1.4 IDE默认编码问题

IDEA默认时UTF-8,eclipse则是GBK

eclipse须要配置下IDE默认编码: General->Workspace->Text file encoding

1.5 tomcat 涌现乱码情形

tomcat 一样平常会先乱码情形,但是tomcat也可以配置,可以预防这种乱码的可能性。
在conf -> server.xml 中进行配置

<Connector executor=\"大众tomcatThreadPool\"大众 port=\公众8080\"大众 protocol=\公众HTTP/1.1\"大众 connectionTimeout=\公众20000\公众 redirectPort=\公众8443\"大众 URIEncoding=\公众UTF-8\公众 /> -

1.6 tomcat 如还连续涌现乱码,连续处理

这次在启动脚本中添加 utf-8编码方案,来彻底办理乱码问题

windows catalina.bat:

set JAVA_OPTS=%JAVA_OPTS% %LOGGING_CONFIG% -Dfile.encoding=\"大众UTF-8\"大众

linux catalina.sh:

JAVA_OPTS=\"大众-Dfile.encoding=UTF-8\公众