如何判断数据库中存储的是不是乱码
开发人员说从数据库中读取的是???
数据库表字符集都是utf8,也set names utf8了,为什么读取到的还是???
可以判断数据库中存储的是???了,如何验证呢?
1.暂时打开general_log,看看开发人员插入的到底是什么语句
2.抓包分析
字符集测试情况,操作系统字符集为utf8
表的字符集 | set names | 存中文 | 读取中文 |
latin1 | latin1 | 不报错 |
latin1读取正常 utf8乱码 |
latin1 | utf8 | 报错 | 空 |
utf8 | latin1 | 不报错 |
latin1读取正常 utf8乱码 |
utf8 | utf8 | 不报错 |
latin1乱码 utf8读取正常 |
gbk | latin1 | 报错 | 空 |
gbk | utf8 | 不报错 |
utf8读取正常 latin1乱码 |