mysql的字符集该怎么配置?我这只要在sql里出现的中文(比如case语句里中文)到客户端都是乱码,参数是中文的也不能解析,而从数据库里取出来的中文是正常的,我该修改什么配置才能正常呢?
看数据库各级别字符集支持
mysql> SHOW VARIABLES LIKE ‘character_set_%’;
mysql> SHOW VARIABLES LIKE ‘collation_%’;
所有级别默认设定为UTF-8,
将所有级别的字符集设定为gb2312。
set character_set_client = gb2312
set character_set_server = gb2312
set character_set_connection = gb2312
set character_set_results = gb2312
修改my.ini文件里的 default-character-set=gb2312 或者在命令行输入mysqld --default-character-set=latin1
Mysql通过客户端发送到控制台展示之前是utf8,但是console是使用系统的默认编码(gbk),所以在中文的时候发生了乱码显示,但是不影响程序操作,只是显示的时候有问题。
如何解决了?
方法一:(只对当前窗口有用,推荐使用)
输入:set names gbk
方法二:将控制台展示编码改成utf8(对所有的窗口,不推荐)
1、打开CMD.exe命令行窗口
2、通过 chcp命令改变代码页,UTF-8的代码页为65001
F:\trash>chcp 65001
执行该操作后,代码页就被变成UTF-8了。但是,在窗口中仍旧不能正确显示UTF-8字符。
3、修改窗口属性,改变字体
在命令行标题栏上点击右键,选择"属性"->"字体",将字体修改为True Type字体"Lucida Console",然后点击确定将属性应用到当前窗口。
4、通过以上操作并不能完全解决问题,因为显示出来的内容有可能不完全。可以先最小化,然后最大化命令行窗口,文件的内容就完整的显示出来了。