Struts2提交表单中文乱码问题解决
2014-04-15 19:21
387 查看
依据下面方法一一检查
1、将MySQL的默认编码设置为utf8,我是用“MySQL Server Instance Config Wizard”直接弄的,据说my.ini文件也可以设置,我没有试过。
关于查看MySQL编码可以用这个命令:show Variables like '%set%'
还有提下,我创建数据库的代码设置默认为utf8编码格式,只是起先没用“MySQL Server
Instance Config Wizard”修改整个MySQL默认配置的时候,还是出现乱码
2、将所有的jsp页面都设置成:
<%@ page contentType="text/html;charset=UTF-8"%>
<%@ page pageEncoding="UTF-8"%>
3、数据库的默认编码设置为utf8,我是在创建数据库的SQL代码中设置的。(
4、在web.xml中加一个过滤器,应该是个编码过滤器:
<!-- 中文编码filter -->
<filter>
<filter-name>struts-cleanup</filter-name>
<filter-class>
org.apache.struts2.dispatcher.ActionContextCleanUp
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts-cleanup</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
这个过滤器要放前面,据说是过滤器的顺序问题也会影响到乱码的(好像是第一次会出现乱码)
5、接下来就是配置struts2的常量了,配置这个常量struts.i18n.encoding
一种在struts.xml文件中配置,用<constant name="struts.i18n.encoding" value="utf-8"/>
一种在struts.properties中配置,我的struts.properties是这样子的:
struts.custom.i18n.resources=messageResource
struts.locale=zh_CN
struts.i18n.encoding=UTF-8
6、好像对于MySQL版本比较低(似乎是3.1一下的,忘记了)的数据库,还要加一条:
在连接数据库url改为:
url = "jdbc:mysql://localhost:3306/数据库名?useunicode=true&characterEncoding=utf8"
即加入“?useunicode=true&characterEncoding=utf8”
1、将MySQL的默认编码设置为utf8,我是用“MySQL Server Instance Config Wizard”直接弄的,据说my.ini文件也可以设置,我没有试过。
关于查看MySQL编码可以用这个命令:show Variables like '%set%'
还有提下,我创建数据库的代码设置默认为utf8编码格式,只是起先没用“MySQL Server
Instance Config Wizard”修改整个MySQL默认配置的时候,还是出现乱码
2、将所有的jsp页面都设置成:
<%@ page contentType="text/html;charset=UTF-8"%>
<%@ page pageEncoding="UTF-8"%>
3、数据库的默认编码设置为utf8,我是在创建数据库的SQL代码中设置的。(
4、在web.xml中加一个过滤器,应该是个编码过滤器:
<!-- 中文编码filter -->
<filter>
<filter-name>struts-cleanup</filter-name>
<filter-class>
org.apache.struts2.dispatcher.ActionContextCleanUp
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts-cleanup</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
这个过滤器要放前面,据说是过滤器的顺序问题也会影响到乱码的(好像是第一次会出现乱码)
5、接下来就是配置struts2的常量了,配置这个常量struts.i18n.encoding
一种在struts.xml文件中配置,用<constant name="struts.i18n.encoding" value="utf-8"/>
一种在struts.properties中配置,我的struts.properties是这样子的:
struts.custom.i18n.resources=messageResource
struts.locale=zh_CN
struts.i18n.encoding=UTF-8
6、好像对于MySQL版本比较低(似乎是3.1一下的,忘记了)的数据库,还要加一条:
在连接数据库url改为:
url = "jdbc:mysql://localhost:3306/数据库名?useunicode=true&characterEncoding=utf8"
即加入“?useunicode=true&characterEncoding=utf8”
相关文章推荐
- Linux下修改MySQL编码的方法
- cmd模式下中文乱码的解决方法(注册表)
- ExtJS中文乱码之GBK格式编码解决方案及代码
- php url地址栏传中文乱码解决方法集合
- 网站开发防止中文乱码需要了解的codepage的重要性小结
- js escape,unescape解决中文乱码问题的方法
- js url传值中文乱码之解决之道
- jquery向.ashx文件post中文乱码问题的解决方法
- opensuse下如何解决jfreechart中文乱码的问题
- utf-8编码引起js输出中文乱码的解决办法
- 远程linux xshell下输出中文乱码解决方法
- mysql 中文乱码 解决方法集锦
- ASP.NET中Request.Form中文乱码的解决方法
- mysql导入导出数据中文乱码解决方法小结
- cmd中MySQL中文数据乱码问题解决方法
- 完美解决PHP中文乱码
- JSP+ MySQL中文乱码问题post提交乱码解决方案
- jquery乱码与contentType属性设置问题解决方案
- php中文乱码怎么办如何让浏览器自动识别utf-8
- php miniBB中文乱码问题解决方法