查看当前mysql使用的字符集
show variables like 'character%';
结果解释:
character_set_client:客户端请求数据的字符集
character_set_connection:客户端与服务器连接的字符集
character_set_database:数据库服务器中某个库使用的字符集设定,如果建库时没有指明,将默认使用配置上的字符集
character_set_results:返回给客户端的字符集(从数据库读取到的数据是什么编码的)
character_set_server:为服务器安装时指定的默认字符集设定。
character_set_system:系统字符集(修改不了的,就是utf8)
character_sets_dir:mysql字符集文件的保存路径
当数据库是utf8字符集,客户端是gbk造成中文乱码时解决方法:(其他字符集问题类推)
临时:set names gbk (会将character_set_client,character_set_connection,character_set_results临时修改为gbk)
永久:修改配置文件my.cnf中(如果配置文件中没有可以手动添加)
[client]
default-character-set=gbk
作用于外部的显示(只是想解决显示乱码,修改这个就行)
[mysqld]
character_set_server=gbk
作用于内部,会作用于创建库表时默认字符集(一般建议不要修改)
修改数据库字符集sql命令:
alter database dbname default character set 字符集;
修改数据表字符集sql命令:
alter table tbname default character set 字符集;
07-11
980
09-15
248
05-08
474
09-23
1012