struts2+mysql乱码问题解决
广告投放★自助友情CMS落伍广告联盟晒乐广告联盟脉动广告联盟品味广告联盟
广告位可自定样式联系QQ:4285248个文字广告月20元广告联系QQ:428524广告位可自定样式
8个文字广告月20元黄金广告位每月20元广告位可自定样式联系QQ:428524广告位可自定样式
左旋肉碱、全国包邮
买二送一、无效退款

文章浏览→编程相关Mysql→struts2+mysql乱码问题解决

struts2+mysql乱码问题解决
struts2+mysql乱码题目处理

问题症状:将中文数据登录到MySQL数据库后,通过数据库客户端检索发现刚刚登录的中文数据全是“?”乱码,但通过数据库客户端登录的数据却没有问题。并且数据库中原有中文数据从数据库中检索出来也没有问题。
原因:最根本的原因在于它是用过滤器来实现转发Action的,既然是过滤器,那么它就会有一条执行链。关键在于,在这条链里,乱码是在哪产生的。因此解决乱码问题主要集中在这条链里,之所以在Action里看到了乱码,是因为在这之前已经是乱码了,因此需要将文字在进入Action前进行编码。

解决方法:

1.统一所有页面的编码:都为UTF-8.
2.在struts.xml里将i18n设置为UTF-8.
3.在web.xml中加入过滤器 需在项目中导入spring.jar

 <filter>
     <filter-name>encodingFilter</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>encodingFilter</filter-name>
 <url-pattern>/*</url-pattern>
</filter-mapping> <!--用spring过滤器来解决乱码问题,但是一定要写到struts2过滤器前面,否则还是不行的。-->

4.确保数据库服务器字符集为UTF-8。在服务器MYSQL的安装目录下,找到my.ini文件,在该文件中找到default-character-set=,该属性如果不是utf8则需改为utf8,文件中一共有两处。(MYSQL在安装的是字符集选项默认的是latin1,所以要根据项目需要选择字符集)。
5.
确保数据库及数据库表的字符集为UTF-8。在建立数据库或表时,可通过客户端工具选择字符集utf8(建立数据库或表也可修改)。

 以上五步操作完成后,确保了数据传输过程中各环节字符集编码的统一,以后再进行登录、检索、更新的时候乱码的问题基本就得到解决啦。struts2+mysql乱码问题解决

  乱码太让人苦恼!struts2+mysql乱码问题解决

所属分类:编程相关Mysql    作者:荡凯网络    时间:2010-6-15 5:32:00