目前遇到的添加到MySQL数据库中,中文乱码解决方案!

一丶查看数据库的默认编码

通过输入密码进入mysql:

  输入show variables like 'character%'; 查看mysql 的字符集

目前遇到的添加到MySQL数据库中,中文乱码解决方案! 

安装MySQL数据库时的默认编码是latin1,实际使用时可能要使用其他编码。

 

二丶修改编码 
修改MySQL的配置文件my.ini(windows系统下),位置在安装目录下。

1.在[client]下追加: 
default-character-set=utf8
2.在[mysqld]下追加: 
character-set-server=utf8
3.在[mysql]下追加: 
default-character-set=utf8
 

最后在重启服务。

上面是查看数据库中的字符集。

我们在实际添加的时候可以查看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> 
<init-param> 
<param-name>forceEncoding</param-name> 
<param-value>true</param-value> 
</init-param> 
</filter> 
<filter-mapping> 
<filter-name>characterEncodingFilter</filter-name> 
<url-pattern>/*</url-pattern> 
</filter-mapping>

其次,我们还要查看我们数据库中,自己建表时,是否也对应了utf-8这个字符集

我们还可以在properties配置文件中,

这栏:jdbc.url=jdbc:mysql:///数据库名称?useUnicode=true&characterEncoding=utf-8 加入这个useUnicode=true&characterEncoding=utf-8

或者?charactorEncoding=utf8 这两个自己都用过。大概是说我们在获取数据库连接对象的方法没有给我们限制字符集!

 

最后,我们还可以在tomcat 中的server.xml中设置一下 

<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"  URIEncoding="UTF-8" />

转载于:https://my.oschina.net/u/4130075/blog/3056201