一、查看Linux主機系統字符集
命令: echo $lang
[root@pythontab.com ~]# echo $LANG
[root@pythontab.com ~]# en_US.UTF-8
查看是不是en_US,如果不是則可按照下面的方法修改:
1、直接設置變量的方式修改,命令如下兩條命令:
[root@pythontab.com ~]# export ?LANG=en_US.UTF-8;?
[root@pythontab.com ~]# export ?LC_ALL=en_US.UTF-8;
2、修改文件方式,通過修改/etc/sysconfig/i18n文件控制
[root@pythontab.com ~]# vim /etc/sysconfig/i18n
LANG=”en_US.UTF-8″ ?#即為系統的語言,修改該項即可
修改文件保存退出之后要生效要執行如下命令才可生效
[root@pythontab.com ~]$ source /etc/sysconfig/i18n
注意:上面的en_US.UTF-8是我的服務器的配置,如果你的是en_US,那也沒有關系,不影響后面的操作,也不影響正常顯示中文。
二、更改ssh客戶端默認顯示字符集
ssh客戶端character encoding默認設置為default,只要改成指定UTF-8即可在終端上顯示中文。
這里指的是一般文件里面的中文是可以正常顯示的,但是mysql里面的中文就不一定了,如果沒有正常顯示,請繼續往下看,跟隨下面的步驟操作。
SecureCRT設置:(在打開會話以后可以直接設置會話選頂)選項(Options)->會話選項(Session Options)->外觀(Appearance)->字符(character encoding),選擇UTF-8 。
這樣就設置了默認顯示字符集。
三、查看mysql的字符集設置
查看mysql server字符集系統變量:
mysql>show variables like ‘character_%’;
mysql>show variables like ‘collation%’;
最終客戶端連接的字符集是由客戶端連接時指定的
連接時指定字符集命令:
mysql –default-character-set=utf8
如果不想每次連接數據庫都指定連接字符集,就需要在配置文件指定字符集,但是更改配置文件后需重啟服務才會生效。
編輯 /etc/my.cnf, 修改下列配置項
[client]
set character_set_results=utf8
[mysql]
set character_set_results=utf8
總結: 如果想要ssh客戶端(SecureCRT等)mysql中文顯示不亂碼,就要保證 Linux系統字符集、ssh客戶端顯示字符集、mysql客戶端連接字符集一致!