解决MySQL中文乱码
Posted brood
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决MySQL中文乱码相关的知识,希望对你有一定的参考价值。
环境:win10, Server version: 5.7.25 mysql Community Server (GPL)
1. 中文乱码
无法插入中文字符,显示该条错误
2. 查看数据库编码
这里需要把这两项修改为 utf8 格式
3. 设置数据全局范围
修改 mysql 配置文件 /etc/my.cnf。(这里添加没有的数据就行了,不必改为一致,不然可能启动不了数据库)
[mysqld]
character-set-server=utf8
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
重启数据库
管理员运行:
net stop mysql
net start mysql
这里查看字符集
但是有些人修改成功后依然添加不了中文
4. 修改命令行默认编码
在cmd中运行 chcp,这里当时我显示的是936
注:CHCP是一个计算机指令,能够显示或设置活动代码页编号。
代码页 描述
65001 UTF-8代码页
950 繁体中文
936 简体中文默认的GBK
437 MS-DOS 美国英语
这里需要修改一下命令行的默认编码,设置为 65001
在运行中通过regedit进入注册表
找到HKEY_CURRENT_USER\\Console\\%SystemRoot%_system32_cmd.exe
新建一个 DWORD(32位值),命名为CodePage,值设为65001
已有CodePage的话,修改它,改为十进制,65001
5.注意:
这里如果你创建新表,添加中文,是完全可以的,但是原有数据表依然无法插入。我刚用数据库就直接删表重建了,
若还有其他方法改正,希望大佬指出,感谢!
以上是关于解决MySQL中文乱码的主要内容,如果未能解决你的问题,请参考以下文章
解决SQLAlchemy MySQL Oracle 中文执行乱码问题