如题所示,我用的 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 查询视图返回的中文依旧是乱码,然后我使用命令行到数据库里面看下手动查询数据返回什么。
发现使用命令行是可以返回正确的数据的…… 如图
想问一下各位有木有遇到过这种情况,你们是怎么解决的呢
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.