如题所示,我用的 homestead 虚拟机,mysql 的版本是 5.7,贴一下我的字符集设置
整个 mysq 的字符集已经是 utf8 了,我的数据是直接 insert 进入数据库里面的,所以说数据应该就是 utf8 的编码, Sequel pro 在查询数据表的时候是可以正常显示中文的,如图所示(不要在意数据内容……真的只是测试数据而已……)
当然每个表的字符集也是 utf8,但是当今天生成视图的时候,突然发现所有的中文都变成了'???' ,如下图所示
我第一反应是视图表的字符集有问题,于是查看了一下字符集,但是确实是 utf8 没有问题
视图生成的 sql 语句是
CREATE VIEW `ask_hot_topic` AS SELECT t.topic_title,t.topic_logo,count(qt.question_id) FROM `ask_topic` AS t LEFT JOIN `ask_question_topic` AS qt ON t.topic_id=qt.topic_id GROUP BY qt.topic_id
在各种调节 mysql 字符集的尝试下,并没有任何结果,Sequel pro 查询视图返回的中文依旧是乱码,然后我使用命令行到数据库里面看下手动查询数据返回什么。
发现使用命令行是可以返回正确的数据的…… 如图
想问一下各位有木有遇到过这种情况,你们是怎么解决的呢
1
aimerforreimu OP 查询以后接受到的数据也是正常的
![Snipaste_2018-03-15_20-04-08.png]( https://i.loli.net/2018/03/15/5aaa61c81be55.png) |