首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  程序员

v2exer 老哥进来帮我看下 MySQL 编码问题

  •  
  •   whirly · 7 天前 · 700 次点击

    Windows7,MySQL 5.7.26 ,一直非英文乱码

    建表 sql:

    my.ini 设置:

    heidisql:

    非英文乱码:

    导入的时候设置了 latin1,一直有非英文乱码问题,尝试了 Latin1 和 utf8 多种组合设置,问题依旧

    老哥们快来帮忙看看该怎么办? ··)

    9 回复  |  直到 2019-07-12 13:36:47 +08:00
        1
    Aresxue   7 天前
    character_set_server 和 character_set_database 改成 utf8mb4
        2
    maierhuang   7 天前
    非英文乱码 指的是中文乱码? latin1 这种单字节字符集是无法存储中文的
        3
    Vegetable   7 天前
    已经建立的数据库,好像没办法切换编码了吧(凭印象说),所以你再怎么 alter 都应该不行,数据已经丢了.我都是删库重新来,建库 utf8mb4,导入就好了.
        4
    whirly   7 天前
    @Aresxue 试过了,没啥效果

    @Vegetable 只能先这样试一下了
        5
    leeyuzhe   7 天前 via Android
    二楼正解。。
        6
    HuasLeung   7 天前
    试试统一设为 utf8_general_ci
        7
    maierhuang   7 天前
    你确定一下你导出时是什么编码 目测肯定不是 latin1 如果原来是 uft8mb4 你导入设置成 latin1 早就被截断了 你之后怎么设置都是没用的
        8
    maierhuang   7 天前
    话说 mysql 的编码令人眼花缭乱 默认设置是 latin1 之后搞了个 utf8 发现这货不是正宗的 4 字节编码 是个 3 字节的编码 后来发现无法显示所有的文字 加入个 utfmb4 这个 4 的意思就是 4 字节了 这才是正经的 uft8
        9
    Aresxue   7 天前   ♥ 1
    ALTER DATABASE 数据库 CHARACTER SET utf8mb4;
    ALTER table 表名 CHARACTER SET utf8mb4;
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1678 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 20ms · UTC 16:36 · PVG 00:36 · LAX 09:36 · JFK 12:36
    ♥ Do have faith in what you're doing.