我在getHibernateTemplate().save()的时候,存入数据库的是乱码,但我确认数据库编码是UTF-8,并且已经在web.xml设置了:
<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>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>Spring character encoding filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
所以感到不明白,请问你们有遇到过这个问题吗?PS:数据库是mysql,web页面编码、web.xml的过滤器都设好了,甚至自己写了一个Filter过滤字符编码,都试过。没办法了。。
<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>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>Spring character encoding filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
所以感到不明白,请问你们有遇到过这个问题吗?PS:数据库是mysql,web页面编码、web.xml的过滤器都设好了,甚至自己写了一个Filter过滤字符编码,都试过。没办法了。。
解决方案 »
- 字符串的处理
- Spring为Struts2依赖注入失败,导致nullpointerexception
- xfire调用返回自定义实例的问题
- struts2里面的“根命名空间”和“默认命名空间”有什么区别?
- 讨论大学生找工作
- 大量数据的excel导出
- 我们最近有个项目出现了乱码问题,是在linux下的mysql.急!!!
- 怎样混淆j2ee项目呢,我用的是Jocky工具但是如果把类文件混淆后,类名将变为混码但是我在配置文件(struts.config.xml 和applicationContext.xml)还需要修改啊
- java遇到挑战了
- JDK、J2EE是否有与MS Word的接口或支持此功能的插件
- struts 2 用validation框架问题
- 配置struts2怎么tomcat都启动鸟了
但提醒哈
是不是在安装MySQL 时候设置的编码和 你现在的编码不匹配 也会乱码!
你看看你建的数据库和表是什么样的编码 ?
也许和这个有关
set names UTF8;
或者
set names GBK;
然后在查看数据库中的数据是否正常。
1、修改整个数据库服务器在my.cf文件的[mysqld]段设置:
default-character-set=utf82、单独设置某个数据库:
alter database testdb character set utf8;
maxThreads="150" minSpareThreads="25" maxSpareThreads="75" debug="0"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="UTF-8" useBodyEncodingForURI="true"/>用上述代码覆盖tomcat的server.xml中相应的内容即可
1》数据库编码是UTF8
2》数据表以及相关字段的编码是UTF8
3》在程序中,自己写了个EncodingFilter过滤字符编码,并设置到web.xml中
4》在web.xml中使用org.springframework.web.filter.CharacterEncodingFilter 对编码进行过滤
5》确认JSP文件的编码是UTF-8,并且已设置正确的字符编码。后来重装了系统后,重新安装Mysql,再运行程序,就可以了,呵呵,真是奇怪。