Servlet

WEB项目乱码问题

2017-09-04  本文已影响5人  捡垃圾的空白

在学习SpringMVC时,修改商品数据出现乱码。虽然之前也遇到过乱码,但是web项目中,时时刻刻,各种原因都能导致乱码的出现,所以每次出现乱码都需要记录下来,下次出现不至于摸不着头脑。
更改后的效果如下:


修改结果

首先,检查数据库的中的内容是否为乱码,可以知道是哪部分出现了问题。发现数据库中出现了乱码。


数据库

此时一般的解决方案是在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>

如果此时依然乱码,则修改jdbc数据源的配置,将url改为
jdbc:mysql://127.0.0.1:3306/mybatis?useUnicode=true&amp;characterEncoding=UTF-8
这样问题应该可以得到解决。
所以以后在配置jdbc数据源时,切记在url后面加上useUnicode=true&characterEncoding=UTF-8


如果数据库没有出现乱码,一般是在生成数据库的时候,character_set_database,character_set_server编码格式设置错误。

解决:

找到mysql安装路径下的my.cnf文件在[mysqld]下添加如下两行:
character_set_server=utf8
init_connect='SET NAMES utf8'

问题解决。

上一篇下一篇

猜你喜欢

热点阅读