V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
aimerforreimu
V2EX  ›  问与答

MAC 下使用 Sequel 操作 Mysql5.7 在创建视图的时候中文变成 ‘????’

  •  1
     
  •   aimerforreimu · 2018-03-15 19:44:39 +08:00 · 1448 次点击
    这是一个创建于 2250 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如题所示,我用的 homestead 虚拟机,mysql 的版本是 5.7,贴一下我的字符集设置

    Snipaste_2018-03-15_19-31-17.png

    整个 mysq 的字符集已经是 utf8 了,我的数据是直接 insert 进入数据库里面的,所以说数据应该就是 utf8 的编码, Sequel pro 在查询数据表的时候是可以正常显示中文的,如图所示(不要在意数据内容……真的只是测试数据而已……) Snipaste_2018-03-15_19-35-29.png

    当然每个表的字符集也是 utf8,但是当今天生成视图的时候,突然发现所有的中文都变成了'???' ,如下图所示 Snipaste_2018-03-15_19-37-23.png

    我第一反应是视图表的字符集有问题,于是查看了一下字符集,但是确实是 utf8 没有问题

    Snipaste_2018-03-15_19-38-47.png

    视图生成的 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 查询视图返回的中文依旧是乱码,然后我使用命令行到数据库里面看下手动查询数据返回什么。

    发现使用命令行是可以返回正确的数据的…… 如图

    Snipaste_2018-03-15_19-42-50.png

    想问一下各位有木有遇到过这种情况,你们是怎么解决的呢

    aimerforreimu
        1
    aimerforreimu  
    OP
       2018-03-15 20:07:20 +08:00
    查询以后接受到的数据也是正常的

    ![Snipaste_2018-03-15_20-04-08.png]( https://i.loli.net/2018/03/15/5aaa61c81be55.png)
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5764 人在线   最高记录 6547   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 09:05 · PVG 17:05 · LAX 02:05 · JFK 05:05
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.