久久96国产精品久久久-久久发布国产伦子伦精品-久久精品国产精品青草-久久天天躁夜夜躁狠狠85麻豆

技術員聯盟提供win764位系統下載,win10,win7,xp,裝機純凈版,64位旗艦版,綠色軟件,免費軟件下載基地!

當前位置:主頁 > 教程 > 服務器類 >

Linux系統中與中文顯示相關的一些編碼設置方法

來源:技術員聯盟┆發布時間:2018-01-30 06:21┆點擊:

  對于國內的Linux用戶,經常煩惱的一個問題是:系統常常在需要顯示中文的時候卻顯示成了亂碼,而由于某些原因,需要英文界面的系統的時候,卻苦于系統不能正常輸入和顯示中文.另外,由于大部分主要Linux發行版都是以英語為主體的,英文界面的系統和應用程序不管在界面的美觀程度和穩定程度上都比中文的略好一些,各種奇怪的BUG也要少一些。因此,很多稍微有英語基礎的Linux用戶都寧愿使用英文界面的系統。但是,矛盾又突現出來:在英文系統下,如何才能正常顯示和輸入中文呢?有沒有兩全其美的方案呢?因此,筆者開始探索如何解決這個問題。我的完美狀態是:系統和應用程序全部為英文(系統菜單、應用程序工具欄、默認輸入法等),而我需要閱讀和撰寫中文文檔的時候,能正確的顯示中文并調出中文輸入法。經過嘗試,設置成功,現在以FC4 Linux為例,講解一些相關知識和設置過程。

  本文主要通過修改系統配置的過程來展現修改linux系統配置的一般思路和過程,如果你不太有耐心看完,請跳過文章的1—4節,直接看第五節快速設置部分。

  一,相關變量介紹

  我們知道大部分Linux系統是無所謂中文版和英文版的,以FC4 Linux為例,系統發行的時候全世界都一樣,系統是中文的還是英文的完全取決于你選擇的語言包。不同國家的人在安裝使用的時候選擇屬于自己國家的語言包,應用程序中的語言也不是寫死的,它根據系統的設置來調用相關的語言,所以,一個應用程序寫出來不經過修改,全世界不同國家的用戶都可以以母語界面使用它,這就事所謂的internationalization(國際化),簡稱 i18n。這也是未來軟件的發展趨勢。

  那么,如果我在系統中安裝了不同的語言包和不同的字體,系統是如何判斷我所要的語言界面并調用相關的字體的呢?系統中那些文件和變量在控制這些呢?

  在redHat和FC系列Linux系統下,記錄系統默認使用語言的文件是/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變量決定系統支持的語言,即系統能夠顯示的語言。需要說明的是,由于計算機起源于英語國家,因此,不管你把這些變量設置成什么,英語總是默認支持的,而且不管用什么字體,英文字體總包含在其中。

  這些變量中LANG變量是在字符模式和圖形界面下都用到的,在你登錄系統后就被讀取并生效,相信很多人在字符界面下輸入Linux命令的時候經常會遇到顯示出來的出錯信息是亂碼的情況,必需安裝zhcon或者cce等字符模式下的中文軟件才能正常顯示中文的出錯信息。如果我不要他顯示中文亂碼,我也不要為了看個很簡單的出錯信息而特意起用zhcon那我該怎么辦呢?一個簡單的零時解決的辦法就是設置一下LANG變量:

  代碼:

  代碼如下:

  [root@gucuiwen ~]# LANG="en_US.UTF-8"

  即把系統的語言臨時設置成英文,或者更簡單一點,可以直接這樣:

  代碼:

  代碼如下:

  [root@gucuiwen ~]# LANG=""

  即把LANG變量清空,由于英語是無論什么情況都支持的,LANG變量被清空后,系統就默認用英語。這樣設置后,在字符模式下輸出的出錯信息等就是全英文的了。但這種設置是臨時的,只是臨時改變了LANG這個bash變量而已。當退出重新登錄或者切換到其他字符終端后就無效了。

  到現在,讀者應該想到了,只要把i18n文件中的LANG變量設置成英文的”en_US.UTF-8”,就可以永久解決這個問題了。修改后的文件如下:

  代碼:

  代碼如下:

  #LANG="en_US.UTF-8" SYSFONT="latarcyrheb-sun16" SUPPORTED="zh_CN.UTF-8:zh_CN:zh"

  請不要把LANG變量簡單的清空,因為這個變量不僅在字符模式下用到,在圖形界面下也用到,簡單清空在字符模式下確實不會有問題,但在圖形界面下,卻會造成中文無法正常顯示的情況,在過去Re d ha t 系列的版本中i18n文件中還有一個叫LANGUAGE的變量,專門控制圖形界面下的語言設置,現在的FC系列中已經把這兩個變量整合成一個變量了。

  經過修改這個變量,重新起動圖形界面后,就可以看到界面一經完全是英文的了。但是按ctrl+空格卻不能調出中文輸入法,輸入法菜單中也不能添加中文輸入法。我們只簡單的修改了LANG變量改變了系統語言設置,當然這一步也可以用圖形界面下的工具修改,而不用親自修改配置文件。

  二,關于運行等級