解決SecureCRT下MySQL的中文亂碼

一、查看Linux主機(jī)系統(tǒng)字符集

命令: echo $lang

[root@pythontab.com ~]# echo $LANG

[root@pythontab.com ~]# en_US.UTF-8

查看是不是en_US,如果不是則可按照下面的方法修改:

1、直接設(shè)置變量的方式修改,命令如下兩條命令:

[root@pythontab.com ~]# export ?LANG=en_US.UTF-8;?

[root@pythontab.com ~]# export ?LC_ALL=en_US.UTF-8;

2、修改文件方式,通過(guò)修改/etc/sysconfig/i18n文件控制

[root@pythontab.com ~]# vim /etc/sysconfig/i18n

LANG=”en_US.UTF-8″ ?#即為系統(tǒng)的語(yǔ)言,修改該項(xiàng)即可

修改文件保存退出之后要生效要執(zhí)行如下命令才可生效

[root@pythontab.com ~]$ source /etc/sysconfig/i18n

注意:上面的en_US.UTF-8是我的服務(wù)器的配置,如果你的是en_US,那也沒(méi)有關(guān)系,不影響后面的操作,也不影響正常顯示中文。

二、更改ssh客戶端默認(rèn)顯示字符集

ssh客戶端character encoding默認(rèn)設(shè)置為default,只要改成指定UTF-8即可在終端上顯示中文。

這里指的是一般文件里面的中文是可以正常顯示的,但是mysql里面的中文就不一定了,如果沒(méi)有正常顯示,請(qǐng)繼續(xù)往下看,跟隨下面的步驟操作。

SecureCRT設(shè)置:(在打開(kāi)會(huì)話以后可以直接設(shè)置會(huì)話選頂)選項(xiàng)(Options)->會(huì)話選項(xiàng)(Session Options)->外觀(Appearance)->字符(character encoding),選擇UTF-8 。

這樣就設(shè)置了默認(rèn)顯示字符集。

三、查看mysql的字符集設(shè)置

查看mysql server字符集系統(tǒng)變量:

mysql>show variables like ‘character_%’;

mysql>show variables like ‘collation%’;

最終客戶端連接的字符集是由客戶端連接時(shí)指定的

連接時(shí)指定字符集命令:

mysql –default-character-set=utf8

如果不想每次連接數(shù)據(jù)庫(kù)都指定連接字符集,就需要在配置文件指定字符集,但是更改配置文件后需重啟服務(wù)才會(huì)生效。

編輯 /etc/my.cnf, 修改下列配置項(xiàng)

[client]

set character_set_results=utf8

[mysql]

set character_set_results=utf8

總結(jié): 如果想要ssh客戶端(SecureCRT等)mysql中文顯示不亂碼,就要保證 Linux系統(tǒng)字符集、ssh客戶端顯示字符集、mysql客戶端連接字符集一致!

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點(diǎn)贊13 分享