首頁 > php教程 > PHP开发 > Linux終端中文顯示亂碼

Linux終端中文顯示亂碼

高洛峰
發布: 2016-12-15 16:34:43
原創
1645 人瀏覽過

這個是個國內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:zhlan"

SUPPORTED="zh_CN.UTF-8:zh_CN:zhlan"

SUPPORTED="zh_CN.UTF-8:zh_CN:zhlan"

有英語基礎的使用者一看就看出來這個變數是決定係統的預設語言的,也就是係統的選單、程式的工具列語言、輸入法預設語言等。 SYSFONT是system font的簡稱,決定係統預設要用哪一種字體。 SUPPORTED變數決定係統支援的語言,即係統能夠顯示的語言。需要說明的是,由於電腦起源於英語國家,因此,不管你把這些變數設定成什麼,英語總是預設支援的,而且不管用什麼字體,英文字體總包含在其中。


那麼如何顯示中文呢?
1、系統必須安裝中文語言包才行

# yum -y groupinstall chinese-support

2、僅僅有語言包還不行,我們得設定對應的字元集


## 臨時生效 
# export LANG=" zh_CN.UTF-8"    # 設定為中文 
# export LANG="en_US.UTF-8"    # 設定為英文,我比較喜歡這樣 export 
  
## 永久生效,編輯/etc/sysconfigre/18n(最好一下) 
LANG="zh_CN.UTF-8"
  
## 或者,編輯/etc/profile配置文件,新增如下一行 
export LANG="zh_CN.UTF-8"
# 重新載入到 /
#. // /profile 
  
## 查看目前的字符集 

# echo $LANG

好了,經過上面的設置,在終端上應該能夠顯示中文了。


3、ssh遠端終端亂碼

如果SSH終端還是亂碼,那麼我們也需要設定終端軟體的編碼。

Xshell:

Linux終端中文顯示亂碼

SecureCRT:

Linux終端中文顯示亂碼

4、如果終端還是中文亂碼腫麼辦?

對SSH軟體進行設置,選擇一個支援中文的字體。

Linux Windows 之間相互需要修改文件,然後亂碼。

拷貝上去後常發現中文顯示亂碼。 。原因是Windows中預設的檔案格式是 GBK(gb2312),而Linux一般都是UTF-8。比較繁瑣的方法是在windows下用程式把內容轉換為utf-8編碼格式的,但是相當麻煩, 而且遇到一個檔案轉一回。以下介紹一下,在Linux中如何一勞永逸的解決這個問題,查看文件的編碼及如何進行對文件進行編碼轉換。

為了避免這些問題,最好的方式就是統一編碼。對於文字文件,都統一儲存為UTF8格式,windows下面不要使用word,記事本,推薦Sublime text, 或notepad++。

用SecureCRT 實現WIN7 與Linux 雙向通訊的問題及文件互傳問題解決 http://www.linuxidc.com/Linux/2014-08/105412.htm

如何使用SecureCRT6.6.2透過系統登入http://www.linuxidc.com/Linux/2011-03/33024p4.htm

SecureCRT 連接Ubuntu http://www.linuxidc.com/Linux/2013-06/85824.htm

VMware 9 + Secure CRT + EditPlus 本機C++開發環境建置 http://www.linuxidc.com/Linux/2013-05/84820.htm

利用SecureCRT在Linux與Windows之間傳送文件 http://www.linuxidc .com/Linux/2014-08/105413.htm

Ubuntu 14.10安裝SecureCRT 7.3 http://www.linuxidc.com/Linux/2014-10/108709.htm


顯示更多Linux線上終端機

🎜🎜🎜🎜顯示更多Linux網路終端終端機! 🎜
相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門推薦
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板