之前使用mysql,使用现成的数据库文件等,都未曾发现中文乱码。今天在某机房,使用cmd 命令提示符创建插入数据时。出现中文无法插入,错误如下。
Query OK, 2 rows affected, 2 warnings (0.02 sec)
Records: 2 Duplicates: 0 Warnings: 2
中文会自动的不插入。
经过查询,发现。各种库,各种表创建的时候都没有问题。
查看编码方式
mysql> show variables like 'char%';
+--------------------------+-------------------------------------------------+
| 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\phpStudy\MySQL\share\charsets\ |
+--------------------------+-------------------------------------------------+
之后发现,需要在插入数据前,在命令提示符中输入
set names gbk;
更改了编码方式,就可以,正确插入查询中文。
改了之后
mysql> show variables like 'char%';
+--------------------------+-------------------------------------------------+
| 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\phpStudy\MySQL\share\charsets\ |
+--------------------------+-------------------------------------------------+
之前未曾需要此类问题,故上传。