您的位置:首页 > 数据库 > MySQL

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

2016-10-23 15:57 411 查看
你乱了吗?
--土豆
基本的解决乱码的流程,主要介绍的是后端到数据库之间的存储
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文件里面的字符集。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息