解決ssh終端CentOS後中文顯示亂碼
今天,幫我們同學處理一下中文顯示亂碼的問題。這個是個國內Linux使用者煩惱的問題,由於大部分的Linux發行版都是以英語為主體的,而且英文在通用性和穩定性上都比中文要好一些,各種奇怪的BUG也要少一點。所以,強烈建議使用英文的系統。
我們知道我們的作業系統是無所謂中文版和英文版的,無論是windows還是Linux,系統發行的時候全世界都是一樣的核心,系統呈現給我們是英文還是中文,完全取決於你選擇的語言包。不同國家的人在安裝使用的時候選擇屬於自己國家的語言包,應用程式中的語言也不是寫死的,它根據系統的設定來呼叫相關的語言,所以,一個應用程式寫出來不經過修改,全世界不同國家的使用者都可以以母語介面使用它,這就事所謂的internationalization(國際化),簡稱 i18n。這也是未來軟體的發展趨勢。
那麼,如果我在系統中安裝了不同的語言包和不同的字型,系統是如何判斷我所要的語言介面並呼叫相關的字型的呢?系統中那些檔案和變數在控制這些呢?
可以使用locale命令,檢視當前系統預設採用的字符集
# locale
在redHat/CentOS系統下,記錄系統預設使用語言的檔案是/etc/sysconfig/i18n,如果預設安裝的是中文的系統,i18n的內容如下:
LANG="zh_CN.UTF-8"
SYSFONT="latarcyrheb-sun16"
SUPPORTED="zh_CN.UTF-8:zh_CN:zh"
其中LANG變數是language的簡稱,稍微有英語基礎的使用者一看就看出來這個變數是決定系統的預設語言的,即系統的選單、程式的工具欄語言、輸入法預設語言等。SYSFONT是system font的簡稱,決定系統預設用哪一種字型。SUPPORTED變數決定系統支援的語言,即系統能夠顯示的語言。需要說明的是,由於計算機起源於英語國家,因此,不管你把這些變數設定成什麼,英語總是預設支援的,而且不管用什麼字型,英文字型總包含在其中。
那麼如何顯示中文呢?
1、系統必須安裝中文語言包才行
# yum -y groupinstall chinese-support
2、僅僅有語言包還不行,我們得設定相應的字符集
## 臨時生效
# export LANG="zh_CN.UTF-8" # 設定為中文
# export LANG="en_US.UTF-8" # 設定為英文,我比較喜歡這樣 export LANG=C
## 永久生效, 編輯/etc/sysconfig/i18n(最好reboot一下)
LANG="zh_CN.UTF-8"
## 或者,編輯 /etc/profile配置檔案,新增如下一行
export LANG="zh_CN.UTF-8"
# 重新載入
# . /etc/profile
## 檢視當前的字符集
# echo $LANG
好了,經過上面的設定,在終端上應該能夠顯示中文了。
3、ssh遠端終端亂碼
如果SSH終端還是亂碼,那麼我們也需要對終端軟體的編碼進行設定。
Xshell:
SecureCRT:
4、如果終端還是中文亂碼腫麼辦?
對SSH軟體進行設定,選擇一個支援中文的字型。
Linux <---> Windows 之間相互需要修改檔案,然後亂碼。
拷貝上去後經常發現中文顯示亂碼。。原因是Windows中預設的檔案格式是 GBK(gb2312),而Linux一般都是UTF-8。比較繁瑣的方法是在windows下用程式把內容轉換為utf-8編碼格式的,但是相當麻煩, 而且遇到一個檔案轉一回。下面介紹一下,在Linux中如何一勞永逸的解決這個問題,檢視檔案的編碼及如何進行對檔案進行編碼轉換。
我們知道我們的作業系統是無所謂中文版和英文版的,無論是windows還是Linux,系統發行的時候全世界都是一樣的核心,系統呈現給我們是英文還是中文,完全取決於你選擇的語言包。不同國家的人在安裝使用的時候選擇屬於自己國家的語言包,應用程式中的語言也不是寫死的,它根據系統的設定來呼叫相關的語言,所以,一個應用程式寫出來不經過修改,全世界不同國家的使用者都可以以母語介面使用它,這就事所謂的internationalization(國際化),簡稱 i18n。這也是未來軟體的發展趨勢。
那麼,如果我在系統中安裝了不同的語言包和不同的字型,系統是如何判斷我所要的語言介面並呼叫相關的字型的呢?系統中那些檔案和變數在控制這些呢?
可以使用locale命令,檢視當前系統預設採用的字符集
# locale
在redHat/CentOS系統下,記錄系統預設使用語言的檔案是/etc/sysconfig/i18n,如果預設安裝的是中文的系統,i18n的內容如下:
LANG="zh_CN.UTF-8"
SYSFONT="latarcyrheb-sun16"
SUPPORTED="zh_CN.UTF-8:zh_CN:zh"
其中LANG變數是language的簡稱,稍微有英語基礎的使用者一看就看出來這個變數是決定系統的預設語言的,即系統的選單、程式的工具欄語言、輸入法預設語言等。SYSFONT是system font的簡稱,決定系統預設用哪一種字型。SUPPORTED變數決定系統支援的語言,即系統能夠顯示的語言。需要說明的是,由於計算機起源於英語國家,因此,不管你把這些變數設定成什麼,英語總是預設支援的,而且不管用什麼字型,英文字型總包含在其中。
那麼如何顯示中文呢?
1、系統必須安裝中文語言包才行
# yum -y groupinstall chinese-support
2、僅僅有語言包還不行,我們得設定相應的字符集
## 臨時生效
# export LANG="zh_CN.UTF-8" # 設定為中文
# export LANG="en_US.UTF-8" # 設定為英文,我比較喜歡這樣 export LANG=C
## 永久生效, 編輯/etc/sysconfig/i18n(最好reboot一下)
LANG="zh_CN.UTF-8"
## 或者,編輯 /etc/profile配置檔案,新增如下一行
export LANG="zh_CN.UTF-8"
# 重新載入
# . /etc/profile
## 檢視當前的字符集
# echo $LANG
好了,經過上面的設定,在終端上應該能夠顯示中文了。
3、ssh遠端終端亂碼
如果SSH終端還是亂碼,那麼我們也需要對終端軟體的編碼進行設定。
Xshell:
SecureCRT:
4、如果終端還是中文亂碼腫麼辦?
對SSH軟體進行設定,選擇一個支援中文的字型。
Linux <---> Windows 之間相互需要修改檔案,然後亂碼。
拷貝上去後經常發現中文顯示亂碼。。原因是Windows中預設的檔案格式是 GBK(gb2312),而Linux一般都是UTF-8。比較繁瑣的方法是在windows下用程式把內容轉換為utf-8編碼格式的,但是相當麻煩, 而且遇到一個檔案轉一回。下面介紹一下,在Linux中如何一勞永逸的解決這個問題,檢視檔案的編碼及如何進行對檔案進行編碼轉換。
為了避免這些問題,最好的方式就是統一編碼。對於文字檔案,都統一儲存為UTF8格式,windows下面不要使用word,記事本,推薦Sublime text, 或者notepad++。
http://www.centoscn.com/CentosBug/osbug/2014/0919/3776.html
相關文章
- 解決ssh連線CentOS後中文顯示亂碼CentOS
- Linux終端中文菱形亂碼解決方案Linux
- ubuntu中文顯示亂碼解決辦法Ubuntu
- navicat for mysql顯示中文亂碼解決方案MySql
- LiveCharts中文顯示亂碼問題的解決Echarts
- linux系統編碼問題:vi不能輸入中文,ssh遠端連線終端不能輸入中文,中文顯示亂碼等Linux
- 解決MySQL中文亂碼和插入中文不顯示的方法MySql
- 解決Hive使用desc顯示中文註釋亂碼Hive
- git操作時中文顯示亂碼的解決方法Git
- Zabbix圖表顯示中文亂碼解決辦法
- xshell終端顯示亂碼的處理方法
- Redis中文顯示為Unicode編碼 亂碼的解決辦法RedisUnicode
- centos7 vim中文亂碼解決方法CentOS
- matplotlib 圖示 中文亂碼, 與 wordcloud 詞雲圖 中文亂碼 解決方法Cloud
- confluence中文顯示亂碼問題
- 如何解決python 圖表中文顯示亂碼問題Python
- hive表查詢中文顯示亂碼Hive
- 生僻字顯示?的字元亂碼解決字元
- MySQL解決中文亂碼MySql
- idea配置檔案.properties中文亂碼顯示????Idea
- Mysql輸出中文顯示亂碼處理MySql
- Mac終端顯示“bash-3.2”的解決方法Mac
- PbootCMS後臺頁面顯示亂碼boot
- 解決中文亂碼問題
- ROS中解決中文亂碼ROS
- request/response解決中文亂碼
- navicat 表中文顯示? 解決
- glibc 升級導致Linux顯示中文亂碼Linux
- OxyPlot.SkiaSharp中文顯示亂碼的問題
- centos vim亂碼怎麼解決?CentOS
- C# 解決httplistener querystring 中文亂碼、返回json中文格式亂碼C#HTTPJSON
- win10系統中文軟體顯示亂碼怎麼回事_win10安裝中文軟體出現亂碼解決教程Win10
- Spring MVC 中文編碼亂碼解決SpringMVC
- win10系統下Open ssh登入裝置後出現中文亂碼怎麼解決Win10
- 解決Tomcat視窗中文亂碼Tomcat
- springmvc 解決中文亂碼問題SpringMVC
- MySql中文亂碼問題解決MySql
- 解決 SecureCRT 和 SecureFX 中文亂碼Securecrt
- Jmeter 解決中文亂碼問題JMeter