解决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 中文执行乱码问题

MySQL数据库中的中文乱码如何解决

关于Mysql中文乱码问题该如何解决(乱码问题完美解决方案)(转)

java数据库中文乱码怎么解决

mysql出现乱码问题如何解决?

windows环境下Mysql中文乱码问题解决方法