Windows7,MySQL 5.7.26 ,一直非英文乱码
建表 sql:
my.ini 设置:
heidisql:
非英文乱码:
导入的时候设置了 latin1,一直有非英文乱码问题,尝试了 Latin1 和 utf8 多种组合设置,问题依旧
老哥们快来帮忙看看该怎么办? ··)
1
Aresxue 2019-07-12 11:06:00 +08:00
character_set_server 和 character_set_database 改成 utf8mb4
|
2
maierhuang 2019-07-12 11:06:26 +08:00
非英文乱码 指的是中文乱码? latin1 这种单字节字符集是无法存储中文的
|
3
Vegetable 2019-07-12 11:09:41 +08:00
已经建立的数据库,好像没办法切换编码了吧(凭印象说),所以你再怎么 alter 都应该不行,数据已经丢了.我都是删库重新来,建库 utf8mb4,导入就好了.
|
5
leeyuzhe 2019-07-12 11:34:24 +08:00 via Android
二楼正解。。
|
6
HuasLeung 2019-07-12 11:36:45 +08:00
试试统一设为 utf8_general_ci
|
7
maierhuang 2019-07-12 11:38:13 +08:00
你确定一下你导出时是什么编码 目测肯定不是 latin1 如果原来是 uft8mb4 你导入设置成 latin1 早就被截断了 你之后怎么设置都是没用的
|
8
maierhuang 2019-07-12 11:42:57 +08:00
话说 mysql 的编码令人眼花缭乱 默认设置是 latin1 之后搞了个 utf8 发现这货不是正宗的 4 字节编码 是个 3 字节的编码 后来发现无法显示所有的文字 加入个 utfmb4 这个 4 的意思就是 4 字节了 这才是正经的 uft8
|
9
Aresxue 2019-07-12 13:36:47 +08:00 1
ALTER DATABASE 数据库 CHARACTER SET utf8mb4;
ALTER table 表名 CHARACTER SET utf8mb4; |