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

2019-07-12 10:58:44 +08:00
 whirly

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

建表 sql:

my.ini 设置:

heidisql:

非英文乱码:

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

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

2038 次点击
所在节点    程序员
9 条回复
Aresxue
2019-07-12 11:06:00 +08:00
character_set_server 和 character_set_database 改成 utf8mb4
maierhuang
2019-07-12 11:06:26 +08:00
非英文乱码 指的是中文乱码? latin1 这种单字节字符集是无法存储中文的
Vegetable
2019-07-12 11:09:41 +08:00
已经建立的数据库,好像没办法切换编码了吧(凭印象说),所以你再怎么 alter 都应该不行,数据已经丢了.我都是删库重新来,建库 utf8mb4,导入就好了.
whirly
2019-07-12 11:30:55 +08:00
@Aresxue 试过了,没啥效果

@Vegetable 只能先这样试一下了
leeyuzhe
2019-07-12 11:34:24 +08:00
二楼正解。。
HuasLeung
2019-07-12 11:36:45 +08:00
试试统一设为 utf8_general_ci
maierhuang
2019-07-12 11:38:13 +08:00
你确定一下你导出时是什么编码 目测肯定不是 latin1 如果原来是 uft8mb4 你导入设置成 latin1 早就被截断了 你之后怎么设置都是没用的
maierhuang
2019-07-12 11:42:57 +08:00
话说 mysql 的编码令人眼花缭乱 默认设置是 latin1 之后搞了个 utf8 发现这货不是正宗的 4 字节编码 是个 3 字节的编码 后来发现无法显示所有的文字 加入个 utfmb4 这个 4 的意思就是 4 字节了 这才是正经的 uft8
Aresxue
2019-07-12 13:36:47 +08:00
ALTER DATABASE 数据库 CHARACTER SET utf8mb4;
ALTER table 表名 CHARACTER SET utf8mb4;

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/582287

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX