MySQL中使用中文时,你得改下字符集,不然会乱码。
目录
1. MySQL中有关character_set变量的含义
2. 使用命令设置character_set
3. 修改配置文件永久修改character_set
1
MySQL中有关character变量
在MySQL中有关character_set变量总共8个,分别代表以下含义:
#客户端连接时,由客户端发送给server端设置
character_set_client
#客户端连接时,由客户端发送给server端设置
character_set_connection
# 当前所在的数据库字符集,如果没有切换到其他数据库,则character_set_database显示的和character_set_server一致。
character_set_database
#把os上文件名转化成此字符集,即把 character_set_client转换character_set_filesystem,默认binary是不做任何转换的
character_set_filesystem
#客户端连接时,服务器返回给客户端的结果字符集
character_set_results
#数据库字符集
character_set_server
#只读数据不能更改变,
character_set_system
# 一个目录而已
character_sets_dir
总的来说:
win10 下普通cmd,默认是GBK
在显示 utf8中文数据时会乱码,但是你用cmd告诉MySQL服务器器我使用的是GBK,你要给我返回GBK数据就可以正常显示了,如下图。这也是为什么PHP,Java,Python等编程连接数据库时都要指定数据库的结果集。
2
使用命令设置character_set
使用命令设置可以实现,但是当数据库重启时,失效。
#设置返回时的结果集
set character_set_results = gbk;
set character_set_database=utf8;
set character_set_server=utf8;
3
修改配置文件永久修改character_set
windows下修改my.ini,一般存放路径C:\ProgramData\MySQL\MySQL Server 5.7;
Linux下 修改my.cnf,一般存放路径:/etc/mysql/
修改内容如下,附加的形式:
[client]
default-character-set=utf8