linux系統中查看中文亂碼,請問如何解決亂碼問題?
解答:
首先我們說下,什麼是字符集?
簡單的說就是一套文字符號及其編碼。常用的字符集有:
GBK 定長 雙字節 不是國際標準,支持的系統不少
UTF-8 非定長 1-4字節廣泛支持,MYSQL也使用UTF-8
當然了,字符集還有很多,以後再深入學習這部分內容。
①linux系統下的字符集由變量LANG控制。
[root@gagarin ~]# echo $LANG
zh_CN.GB18030
②export LANG="ZH_CN.GB18030"(臨時變更字符集,重啓後失效)
③在/etc/sysconfig/i18n文件中,行首添加:(配置永久生效)
LANG="ZH_CN.GB18030"
並把之前的字符集行註釋“#”
. /etc/sysconfig/i18n(使修改生效)
④echo 'export LANG="ZH_CN.GB18030"' >>/etc/profile(全局系統環境變量配置文件)
source /etc/profile(生效)
echo $LANG(查看結果)
⑤工作場景中使用的腳本,爲避免中文亂碼,有時候也會在腳本里更改字符集:
#!/bin/sh
export LANG="ZH_CN.GB18030"
(腳本內容)
⑥SSH工具(SecureCRT)要與linux的字符集保持一致。
在SecureCRT的“會話選項”對話框,“終端”→“外觀”類裏,“字符編碼”中的選項要和linux保持一致。
linux使用的字符集爲“ZH_CN.GB18030”,SecureCRT的選項裏設置爲“默認”即可。
⑦服務端和客戶端字符集對應,亂碼就可以有效避免。
中文字符集:ZN_CN.GB18030
字符集變量:LANG
字符集配置文件:/etc/sysconfig/i18n
⑧echo命令(單行文本的追加)
source與.(修改後的變量生效)
export命令(設置環境變量)