关于后端存储到mysql中的乱码问题

你乱了吗?

--土豆

基本的解决乱码的流程,主要介绍的是后端到数据库之间的存储

1.首先检查插入数据库之前是否已经乱码

2.检查jdbc配置文件是否添加jdbc\:mysql\://localhost\:3306/test?useUnicode\=true&characterEncoding\=UTF-8&zeroDateTimeBehavior\=convertToNull

3.检查连接的数据库的字符集是否为utf8

4.检查插入的表是否是utf8

5.如果以上所有都检查了,还没有解决问题,恭喜你,看到了本文档。

6.输入SHOWVARIABLES LIKE 'character%';查看:

 | character_set_client:客户端请求数据的字符集(编码方式)

  | character_set_connection:从客户端接收到数据,再传输的字符集(建立连接使用的编码)

  | character_set_database:默认数据库的字符集,无论默认数据库如何改变,都是这个字符集;如果没有默认数据库,那就使用character_set_server 指定的字符集,这个变量建议由系统自己管理,不要人为定义

 |character_set_filesystem:把os上文件名转化成此字符集,即把 character_set_client转换character_set_filesystem, 默认binary是不做任何转换的

 | character_set_results:结果集的字符集

         | character_set_server:数据库服务器的默认字符集

 |character_set_system:这个值总是utf8,不需要设置,是存储系统元数据的字符集

         |character_sets_dir:/usr/share/mysql/charsets/

其中红色的字段如果都改为utf8(SET character_set_results = utf8),在进行测试是否乱码。如果还乱码!!!

7.关于后端存储到数据库乱码然后经过所有尝试都不成功时,请尝试下面的办法解决,mysql安装的时候没有选择默认字符集,去配置文件里面把字符集更改一下http://blog.csdn.net/frinder/article/details/7041723就是这个网址所说的那样,但是用代码更改不了mysql的配置文件,所以需要手动去修改my.ini文件里面的字符集。

你可能感兴趣的:(mysql)