mysql客戶端在命令列下無法輸入中文字元

junsansi發表於2012-02-23
遇到一個非常奇怪的問題,mysql命令列下無法輸入中文,但是在作業系統層是沒有問題的,進入mysql命令列看就無法正常輸入,無論如何設定set names,或者是啟動前附加--default-character-set均不行,複製貼上位元組的方式也不
行,不過瀏覽包含中文字元的表或欄位倒能夠正常顯示~~

網上搜尋,看到有不少人提到這個問題,但多都是通過set names gbk的方式就可以解決,情況與我當前遇到的並不相同。

經過本地多番的嘗試可以確定與MySQL服務沒有關係,應該還是客戶端本地作業系統的原因。

因為從有問題的客戶端連線任何MySQL資料庫均無法輸入中文字元,而從正常的客戶端連線任何MySQL資料庫均能正常輸入字元。

在網上搜尋的過程中,看到有網友提到設定作業系統層的LANG變數,指定字符集,我按照其中的一些案例,設定成GBK或UTF-8,但均無果~~~

也不能說無果,因為多次除錯後發現情況有了些變化,如下:
mysql> 
    -> ;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '會影' at line 1
而之前是完全不接受任何中文字元的,現在,如上所示,字元實際上是輸入了的,但沒有顯示出來,這點非常的奇怪~~

最後,嘗試export LANG="zh_CN.GB18030",然後mysql客戶端中就能輸入中文了~~

如果有誰遇到過類似的情況,可以參考我嘗試的步驟去處理,也許能夠解決問題~~~

不過如果更深入一些,對比其它正常客戶端上LANG變數,發現五花八門,設什麼的都有,GBK/ZHS16GBK/UTF-8等,也未發現問題~~

懷疑仍然是跟作業系統有關係,雖然當前從現狀看解決了問題,但實際緣由還是沒有搞清楚,如果哪位朋友遇到過類似問題並且找到了明確的答案,歡迎向我答疑解惑~~~

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7607759/viewspace-717020/,如需轉載,請註明出處,否則將追究法律責任。

相關文章