SSH中乱码问题的解决记录

今天遇到了个中文乱码问题。代码里面能够打印出JSP获取的中文值,但是写入数据库却是乱码...

     首先我做了一下分析:

        出现乱码的情况,主要是因为编码格式不统一,为此我检查了一边MYSQL的字符集 是否统一为UTF-8。

           

       MYSQL 根目录的my.ini 文件default-character-set=utf8 。默认编码是否UTF-8

     注意:修改了my.ini文件需要重启一下MYSQL . net stop mysql 停止/net shrat mysql 开启。

     这两项做好后,根据JSP获取的中文值能正常打印、数据库的编码又是统一UTF-8.那么就有可能是因为写入数据库时候的格式不统一。

     在网上查了一下,寻到一个Spring 自带的过滤器。

   CharacterEncodingFilter 当前台JSP页面和JAVA代码中使用了不同的字符集进行编码的时候就会出现表单提交的数据或者上传/下载中文名称文件出现乱码的问题,那这个类就可以出场了。

    感谢jeiofw提供的转载资料。暂时还不知道原创是谁 同样感谢 ..... 

         <filter>
2.                <filter-name>encodingFilter</filter-name>
3.                    <filter-class>
4.                        org.springframework.web.filter.CharacterEncodingFilter
5.                    </filter-class>
6.                <init-param>
7.                    <param-name>encoding</param-name>
8.                    <param-value>UTF-8</param-value>
9.                </init-param>
10.                <init-param>
11.                    <param-name>forceEncoding</param-name>
12.                    <param-value>false</param-value>
13.               </init-param>
14.        </filter>
15.16.        <filter-mapping>
17.                <filter-name>encodingFilter</filter-name>
18.                <url-pattern>/*</url-pattern>
19.       </filter-mapping>

 将此过滤器在WEB.XML里面配置一下就成了。   

      xml 配置好了, JDBC连接数据库的hibernate.cfg.xml 也需要设置一下这个过滤器。

    <property name="connection.url">jdbc:mysql://localhost:3306/test

    ?useUnicode=true&amp;characterEncoding=UTF-8</property>

    大功告成

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值