mysql数据库插入中文以及乱码问题解决(统一设置为utf-8)格式

时间:2023-01-04 23:27:23

1、编辑MySql的配置文件

MySql的配置文件Windows下一般在系统目录下或者在MySql的安装目录下名字叫my.ini。像我的就在D:\Program Files (x86)\MySQL\MySQL Server 5.5下。可以搜索,Linux下一般是/etc/my.cnf

直接全文搜索"character-set",把编码都改成utf8。

2、重启Mysql数据库

在运行中输入services.msc,打开服务

mysql数据库插入中文以及乱码问题解决(统一设置为utf-8)格式

找到MYSQL,右键重启

3、命令行打开mysql

WINDOWS下的

mysql> show variables like '%character_set%';
+--------------------------+---------------------------------------------------------------+
| Variable_name            | Value                                                         |
+--------------------------+---------------------------------------------------------------+
| character_set_client     | utf8                                                          |
| character_set_connection | utf8                                                          |
| character_set_database   | utf8                                                          |
| character_set_filesystem | binary                                                        |
| character_set_results    | utf8                                                          |
| character_set_server     | utf8                                                          |
| character_set_system     | utf8                                                          |
| character_sets_dir       | D:\Program Files (x86)\MySQL\MySQL Server 5.5\share\charsets\ |
+--------------------------+---------------------------------------------------------------+
8 rows in set (0.00 sec)

Linux下的

mysql> show variables like '%character_set%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | utf8                       |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | utf8                       |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+

需要达到上面的效果,如果没有达到,有两种可能。1)你之前建过数据库和表,所以你需要把建的删掉重新再建一次。英文文档的大概意思就是如果更改数据库的默认字符集或排序规则,必须删除使用数据库缺省值的存储例程重新创建,以便他们使用新的默认值。2)你上面的配置没有配置好。你可以参考一下设置MYSQL数据库编码为UTF-8这篇文章。

4、查看效果

插入汉字后,在cmd上查看效果。如果还是乱码,在确定你上面的步骤都完成的情况下,那就是你的cmd编码格式不是utf8。cmd默认格式是gbk。然后知道问题出在哪里就能解决了。 命令窗口修改编码,CMD编码修改方法(百度经验)。我按照上面的方式改了还是不能正常显示(但是上面的cmd编码修改方法肯定是正确的),最后是使用navicate for mysql能够正常显示。