解决SpringMVC中文乱码问题
2015-01-31 10:55
253 查看
说实话在ITOO开发初期最令人头疼了除了没办法热部署就是乱码问题了,不是数据库乱了就是页面乱了,真心是心塞呀,好好的数据总是乱码让人情何以堪。
这里总结几条可以解决中文乱码的问题,希望对大家有帮助:
通常情况下我们都把编码格式设置成UTF-8。
第一种情况:
jsp页面中文输入,到controller乱码,这时候需要设置的是在web.xml文件中添加一个编码的过滤器(filter)将编码统一为UTF-8,代码如下:
Web.xml配置文件:
这里需要注意的是,最好把这段代码放在web.xml中开头的位置,因为拦截有顺序,如果放在后面的话容易拦截不到。
第二种情况:
数据库中文数据,jsp页面显示乱码(不是严格意义上的乱码,而是以问号的形式呈现)
由于我们前后台的数据交互使用的是json数据,出现这种情况的原因我也不太清楚,之前也没遇到过,只能怪自己做过的项目太少,解决起来也不困难,只需要在转json的时候设置一下编码格式就可以了,代码如下:
写上这句话就不会再出现乱码了。
第三种情况:
页面中文,传递到controller也是正确的,但是保存到数据库之后就是乱码(也不是严格意义的乱码,跟上面一样全是问号)
这个问题困扰了我一段时间,开始觉得数据库的编码格式不正确,重新创建了编码格式为utf-8的数据库也还是不可以,最后觉得是jboss的问题,我们的服务器用的是jboss,上网查了资料在连接数据源的时候加上编码格式就可以了,代码如下:
中文乱码真心是一个让人头疼的问题,不过好在都是可以解决的,希望大家有什么关于中文乱码的解决方法可以一起分享。
这里总结几条可以解决中文乱码的问题,希望对大家有帮助:
通常情况下我们都把编码格式设置成UTF-8。
第一种情况:
jsp页面中文输入,到controller乱码,这时候需要设置的是在web.xml文件中添加一个编码的过滤器(filter)将编码统一为UTF-8,代码如下:
Web.xml配置文件:
<filter> <filter-name>CharacterEncodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>utf-8</param-value> </init-param> </filter> <filter-mapping> <filter-name>CharacterEncodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
这里需要注意的是,最好把这段代码放在web.xml中开头的位置,因为拦截有顺序,如果放在后面的话容易拦截不到。
第二种情况:
数据库中文数据,jsp页面显示乱码(不是严格意义上的乱码,而是以问号的形式呈现)
由于我们前后台的数据交互使用的是json数据,出现这种情况的原因我也不太清楚,之前也没遇到过,只能怪自己做过的项目太少,解决起来也不困难,只需要在转json的时候设置一下编码格式就可以了,代码如下:
response.setContentType("application/json;charset=UTF-8");//防止数据传递乱码
写上这句话就不会再出现乱码了。
第三种情况:
页面中文,传递到controller也是正确的,但是保存到数据库之后就是乱码(也不是严格意义的乱码,跟上面一样全是问号)
这个问题困扰了我一段时间,开始觉得数据库的编码格式不正确,重新创建了编码格式为utf-8的数据库也还是不可以,最后觉得是jboss的问题,我们的服务器用的是jboss,上网查了资料在连接数据源的时候加上编码格式就可以了,代码如下:
<datasource jta="true" jndi-name="java:jboss/datasources/JcMysqlDS" pool-name="JcMysqlDS" enabled="true" use-java-context="true"> <connection-url>jdbc:mysql://192.168.24.46/ITOO_BASIC_BASIC?useUnicode=true&characterEncoding=UTF-8</connection-url> <driver>mysql</driver> <pool> <prefill>false</prefill> <use-strict-min>false</use-strict-min> <flush-strategy>FailingConnectionOnly</flush-strategy> </pool> <security> <user-name>root</user-name> <password>123456</password> </security> </datasource>
中文乱码真心是一个让人头疼的问题,不过好在都是可以解决的,希望大家有什么关于中文乱码的解决方法可以一起分享。
相关文章推荐
- SpringMVC 解决中文乱码的问题
- SpringMVC与fastjson整合并同时解决中文乱码问题
- SpringMVC学习系列-后记 解决GET请求时中文乱码的问题
- SpringMVC解决GET请求时中文乱码的问题
- SpringMVC学习系列-后记 解决GET请求时中文乱码的问题
- springMVC_json格式数据的接收和发送(未解决中文乱码问题)
- springmvc Spring3 MVC @ResponseBody返回,jquery ajax调用中文乱码问题解决
- SpringMVC学习系列-后记 解决GET请求时中文乱码的问题
- SpringMVC 解决Controller里获取请求参数出现中文乱码问题
- SpringMVC学习系列-后记 解决GET请求时中文乱码的问题
- springmvc Spring3 MVC @ResponseBody返回,jquery ajax调用中文乱码问题解决
- springMVC_json格式数据的接收和发送(未解决中文乱码问题)
- springmvc Spring3 MVC @ResponseBody返回,jquery ajax调用中文乱码问题解决
- 解决SpringMVC中文乱码问题以及配置不生效问题
- SpringMVC的@ResponseBody返回JSON,中文乱码问题的解决.
- SpringMVC与fastjson整合并同时解决中文乱码问题
- 解决springmvc的get提交和post提交的中文乱码问题
- 解决plupload-2.1.2,springmvc上传中文文件名乱码问题
- SpringMVC学习系列-后记 解决GET请求时中文乱码的问题
- springMVC教程(四)保存数据到mysql数据库中文乱码问题解决方法