十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
怎样查看mysql自定义数据库的编码字符集
创新互联公司成立与2013年,先为芜湖县等服务建站,芜湖县等地企业,进行企业商务咨询服务。为芜湖县企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
分不同的类型,可按以下三种方式查询:
一、查看MySQL数据库服务器和数据库MySQL字符集。
命令:
1
mysql show variables like '%char%';
二、查看MySQL数据表(table)的MySQL字符集。
命令:
1
mysql show table status from sqlstudy_db like '%countries%';
三、查看MySQL数据列(column)的MySQL字符集。
命令:
1
mysql show full columns from countries;
查看MySQL编码
SHOW VARIABLES LIKE 'char%';
因为当初安装时指定了字符集为UTF8,所以所有的编码都是UTF8。
character_set_client:你发送的数据必须与client指定的编码一致!!!服务器会使用该编码来解读客户端发送过来的数据;
character_set_connection:通过该编码与client一致!该编码不会导致乱码!当执行的是查询语句时,客户端发送过来的数据会先转换成connection指定的编码。但只要客户端发送过来的数据与client指定的编码一致,那么转换就不会出现问题;
character_set_database:数据库默认编码,在创建数据库时,如果没有指定编码,那么默认使用database编码;
character_set_server:MySQL服务器默认编码;
character_set_results:响应的编码,即查询结果返回给客户端的编码。这说明客户端必须使用result指定的编码来解码;
控制台编码
修改character_set_client、character_set_results、character_set_connection为GBK,就不会出现乱码了。但其实只需要修改character_set_client和character_set_results。
控制台的编码只能是GBK,而不能修改为UTF8,这就出现一个问题。客户端发送的数据是GBK,而character_set_client为UTF8,这就说明客户端数据到了服务器端后一定会出现乱码。既然不能修改控制台的编码,那么只能修改character_set_client为GBK了。
服务器发送给客户端的数据编码为character_set_result,它如果是UTF8,那么控制台使用GBK解码也一定会出现乱码。因为无法修改控制台编码,所以只能把character_set_result修改为GBK。
修改character_set_client变量:set character_set_client=gbk;
修改character_set_results变量:set character_set_results=gbk;
设置编码只对当前连接有效,这说明每次登录MySQL提示符后都要去修改这两个编码,但可以通过修改配置文件来处理这一问题:配置文件路径:D:\Program Files\MySQL\MySQL Server 5.1\ my.ini
mysql查看表的字符集的方法:执行【show table status from 库名 like 表名;】语句即可。如果要查看库的字符集,可以执行【show database status from 库名 like 表名;】语句。
查看表的字符集
show table status from 库名 like 表名;
查看库的字符集
show database status from 库名 like 表名;
查看表中所有列的字符集
show full columns from 表名;