首頁 >運維 >linux運維 >解決SecureCRT下MySQL的中文亂碼

解決SecureCRT下MySQL的中文亂碼

巴扎黑
巴扎黑原創
2017-08-22 13:24:552562瀏覽

一、查看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 'collat​​ion%';

最終客戶端連接的字元集是由客戶端連接時指定的

連接時指定字元集命令:

# 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客戶端連接字符集一致!

以上是解決SecureCRT下MySQL的中文亂碼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn