V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
aimerforreimu
V2EX  ›  问与答

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

  •  1
     
  •   aimerforreimu · Mar 15, 2018 · 1770 views
    This topic created in 2965 days ago, the information mentioned may be changed or developed.

    如题所示,我用的 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
       Mar 15, 2018
    查询以后接受到的数据也是正常的

    ![Snipaste_2018-03-15_20-04-08.png]( https://i.loli.net/2018/03/15/5aaa61c81be55.png)
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5086 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 45ms · UTC 05:39 · PVG 13:39 · LAX 22:39 · JFK 01:39
    ♥ Do have faith in what you're doing.