MySQL乱码

  • 介绍

总结MySQL乱码相关问题。通常情况下,我们可以把数据库以及程序、中间件的字符集统一设置为utf8格式。

  • schema

创建库(schema)的时候,要指定字符集。命令如下:

create database suren default character set utf8;

  • table

create table suren(id varchar(12)) default charset utf8;

  • 连接

show variables like '%character%'; 通过该命令查看是否字符集都保持一直

set global character_set_client = utf8; 通过该命令来修改字符集

下面是我用Win10下客户端连接打印出的信息:

mysql -uroot -proot

mysql> show variables like ‘%character%’;
+————————–+———————————————————+
| Variable_name | Value |
+————————–+———————————————————+
| character_set_client | gbk |
| character_set_connection | gbk |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | gbk |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | C:\Program Files\MySQL\MySQL Server 5.7\share\charsets\ |
+————————–+———————————————————+
8 rows in set, 1 warning (0.00 sec)

设置了连接参数后的结果:

mysql -uroot -proot –default-character-set=utf8

mysql> show variables like ‘%character%’;
+————————–+———————————————————+
| 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 | C:\Program Files\MySQL\MySQL Server 5.7\share\charsets\ |
+————————–+———————————————————+
8 rows in set, 1 warning (0.00 sec)

如果你用mysql客户端连接后,再使用source命令导入数据的话,需要指定字符集,否则容易出现乱码问题。

  • 参考

本文为原创,如果您当前访问的域名不是surenpi.com,请访问“素人派”。

发表评论

电子邮件地址不会被公开。 必填项已用*标注