解决SpringMVC中文乱码问题

说实话在ITOO开发初期最令人头疼了除了没办法热部署就是乱码问题了,不是数据库乱了就是页面乱了,真心是心塞呀,好好的数据总是乱码让人情何以堪。

这里总结几条可以解决中文乱码的问题,希望对大家有帮助:

通常情况下我们都把编码格式设置成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>

中文乱码真心是一个让人头疼的问题,不过好在都是可以解决的,希望大家有什么关于中文乱码的解决方法可以一起分享。

时间: 2024-10-10 10:56:38

解决SpringMVC中文乱码问题的相关文章

彻底解决Springmvc中文乱码问题

如果使用是网页地址get方式请求传输中文字符的话,springmvc会出现乱码的问题,这时候需要在web.xml中配字符拦截器(ps:仅对post请求有效果) ---------------------------------------------------------------------------------------------------------------------------- <!-- 配置编码过滤器,解决中文乱码问题:页面需设置utf-8,提交方式需为:post否

彻底解决springMVC中文乱码

一.页面编码 <%@ page contentType="text/html;charset=UTF-8" language="java" %> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/> 二.URL中的乱码 改tomcat中server.xml中Connector的port="8080",加

解决SpringMVC中文乱码问题以及配置不生效问题

在web.xml增加如下配置,这里请注意<url-pattern>/*</url-pattern>的配置,不能配置为这样<url-pattern>/</url-pattern>,少了*后就不生效.虽然SpringMVC经常配置filter-mapping的时候经常用"/"匹配所有URL,但是在这里就是不生效,我就是遇到了这样问题!!! <!-- 配置字符集 --> <filter> <filter-name&

springMVC中文乱码问题

如何解决springMVC中文乱码问题? 由于Filter组件会在servlet之前执行 在拦截器中设置编码 CharacterEncodingFilter(Spring-web提供) 在web.xml中配置Filter <filter> <filter-name>myfilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</fi

springmvc 提供的统一解决json中文乱码配置

<!--springmvc 统一解决json中文乱码问题--><mvc:annotation-driven> <mvc:message-converters register-defaults="true"> <bean class="org.springframework.http.converter.StringHttpMessageConverter"> <constructor-arg value=&qu

Linux下关于解决JavaSwing中文乱码的情况

1.下载simsun.ttc(宋体).http://download.csdn.net/detail/lazy_p/4436971 2.linux中跳转到JDK安装目录 ..../jre/lib/fonts 3.sudo mkdir fallback  然后将Windows所拷贝的字体放到fallback中 相关解决网址 http://www.linuxidc.com/Linux/2009-10/21991.htm http://www.cnblogs.com/zhangyongli2011/a

初识JavaBean、以及解决JavaBean中文乱码问题

目的: 1.创建一个表单在index.jsp页面中,如图: 代码如下: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.

Ubuntu14.04安装中文输入法以及解决Gedit中文乱码问题

1 设置中文显示环境 1. 打开System Settings 2. 打开Personal-> Language Support. 会弹出如下对话框,提示你“语言支持没安装完整”. 点击“Remind Me Later”. 3. 在“Language Support”中,点击“Install/Remove Languages”,在打开的窗口中,找到“Chinese(simplified)”并勾选上,点击“Apply Changes”. 4. 上面只是下载了语言包,还需要切换系统语言才能使之生效.

解决Eclipse中文乱码

使用Eclipse编辑文件经常出现中文乱码或者文件中有中文不能保存的问题,Eclipse提供了灵活的设置文件编码格式的选项,我们可以通过设置编码 格式解决乱码问题.在Eclipse可以从几个层面设置编码格式:Workspace.Project.Content Type.File 本文以Eclipse 3.3(英文)为例加以说明: 1. 设置Workspace的编码格式: Windows->Preferences... 打开"首选项"窗口,点击左侧导航树到General->W