綠色資(zī)源網:您身邊最放心的安全下載站(zhàn)! 最(zuì)新軟件|熱門排行|軟件分(fèn)類|軟件專題|廠商大全

綠色資源網

技術教程
您的位置:首頁操作係統linux → LINUX中文亂碼問題

LINUX中文亂碼問題

我要評論 2013/08/29 16:10:28 來源(yuán):綠色資源網 編輯:www.ynaad.com [ ] 評論:0 點擊:233次

最近,公司在XP係統於LINUX之間傳(chuán)數據時出現了中文亂碼問題!

首先,解釋一下字符集:

漢字編碼:

* GB2312字集是簡體字集(jí),全稱為GB2312(80)字集,共包括國標(biāo)簡體漢字6763個。 * BIG5字集是台灣繁體字集,共包括國標繁體漢字13053個。 * GBK字集是簡繁字集,包括了(le)GB字集、BIG5字集和(hé)一些(xiē)符(fú)號,共包括21003個字符。 * GB18030是國(guó)家製定的一個強製性大字集標準,全稱為GB18030-2000,它的推出使漢字集有(yǒu)了一個(gè)“大一統”的標準。 

ASCII:

American Standard Code for Information Interchange,美(měi)國信息交換標準碼。 目前計算機中(zhōng)用得最廣泛的字符集及其編(biān)碼,由美國國家標準局(ANSI)製定。 它已被國際標準化組織(ISO)定為國際標準,稱為ISO 646標準。 ASCII字符集由控製字符和圖形字符組成。 在計算機的存儲單元中,一個ASCII碼值占一個字節(8個二進製位),其最(zuì)高位(b7)用作奇偶校驗位(wèi)。 所謂奇偶校驗,是指(zhǐ)在代碼傳送過程中用來檢驗是否出現錯誤的一(yī)種方法,一般分奇校驗和偶校驗兩種。 奇校驗規定:正(zhèng)確的代(dài)碼一個字節中1的個數必須是(shì)奇(qí)數,若非奇數,則在最高位b7添1。 偶校驗規定:正確的代碼一個字(zì)節中1的個數必須是偶(ǒu)數,若非偶數,則在最(zuì)高位b7添1。

UTF:

Unicode 的實現方式不(bú)同於編碼方式。 一個字符的Unicode編碼是確定的,但是(shì)在實際(jì)傳輸過程中(zhōng),由於不同係統平台的設計不一定一致,以及出於節省空間的目的,對Unicode編碼的實現方式(shì)有所不同(tóng)。 Unicode的實現方式稱為Unicode轉換格式(Unicode Translation Format,簡稱(chēng)為 UTF)。 * UTF-8: 8bit變長編碼,對於大多數常用字符集(ASCII中0~127字符)它(tā)隻使用單(dān)字節,而(ér)對其它常用字符(特(tè)別是朝鮮和(hé)漢(hàn)語會意文字),它使用3字節。 * UTF-16: 16bit編碼,是變長碼,大致相當於20位編碼,值在0到0x10FFFF之間,基本上(shàng)就是unicode編碼的(de)實現,與CPU字序有關(guān)。
注意:ASCII  char (2)  ;UTF-8 寬字符  wchar  4倍 。兼容(róng)性最(zuì)好的編碼就是UTF-8! 畢(bì)竟GBK/GB2312是國(guó)內的標(biāo)準,當(dāng)我們(men)大量(liàng)使用國外的(de)開源軟(ruǎn)件時,UTF-8才是編(biān)碼界最通用的語言。

Linux中通過locale來設置程序運行的不同語言環境,localeANSI C提供支(zhī)持。locale的命名規則為<語言>_<地區>.<字符集編碼>,如(rú)zh_CN.UTF-8zh代表中文,CN代表大陸地區,UTF-8表示字符(fú)集。在locale環境中,有一(yī)組變量,代表國際(jì)化環境(jìng)中的不(bú)同設置:
1.    LC_COLLATE
定義該環境的排序和比較規則
2.    LC_CTYPE
用於字符分類和字(zì)符串處理,控製所有字符的(de)處理方式,包括字符編碼,字符是單字節還是多字節,如何打印等。是最重要的一個環境變量。
3.    LC_MONETARY
貨幣格式(shì)
4.    LC_NUMERIC
非貨幣的數字顯示格式
5.    LC_TIME
時間和日期格式
6.    LC_MESSAGES
提示信息的語言。另外還(hái)有(yǒu)一(yī)個LANGUAGE參數,它與LC_MESSAGES相似(sì),但(dàn)如果該參數一旦設置,則(zé)LC_MESSAGES參數就會失效。LANGUAGE參(cān)數可同(tóng)時設置(zhì)多種語言信息,如LANGUANE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"
7.    LANG
LC_*的默認值,是(shì)最(zuì)低級別的設置,如果LC_*沒(méi)有設置,則(zé)使用該值。類似於 LC_ALL
8.    LC_ALL
它是一個宏,如果該值設置了,則該值(zhí)會覆蓋所有(yǒu)LC_*的設置(zhì)值。注意,LANG的值不受該宏影(yǐng)響。
一個例子:
設置前(qián),使用默認locale
[root@db-wanggaofei ~]# locale
LANG="POSIX"
LC_CTYPE="POSIX"
LC_NUMERIC="POSIX"
LC_TIME="POSIX"
LC_COLLATE="POSIX"
LC_MONETARY="POSIX"
LC_MESSAGES="POSIX"
LC_PAPER="POSIX"
LC_NAME="POSIX"
LC_ADDRESS="POSIX"
LC_TELEphones="POSIX"
LC_MEASUREMENT="POSIX"
LC_IDENTIFICATION="POSIX"
LC_ALL= 
設置後,使用zh_CN.GDK中文locale
[root@db-wanggaofei ~]# export LC_ALL=zh_CN.GBK
[root@db-wanggaofei ~]# locale
LANG=zh_CN.UTF-8
LC_CTYPE="zh_CN.GBK"
LC_NUMERIC="zh_CN.GBK"
LC_TIME="zh_CN.GBK"
LC_COLLATE="zh_CN.GBK"
LC_MONETARY="zh_CN.GBK"
LC_MESSAGES="zh_CN.GBK"
LC_PAPER="zh_CN.GBK"
LC_NAME="zh_CN.GBK"
LC_ADDRESS="zh_CN.GBK"
LC_TELEphones="zh_CN.GBK"
LC_MEASUREMENT="zh_CN.GBK"
LC_IDENTIFICATION="zh_CN.GBK"
LC_ALL=zh_CN.GBK
"C"是係(xì)統默認的locale"POSIX""C"的別(bié)名。所以當我們新安裝完一個(gè)係統時,默認的locale就是C或POSIX
Debian中安裝locales的方法如下:
· 通過apt-get install locales命令安裝locales
· 安裝完成locales包後,係(xì)統會自動進行locale配置,你隻要選擇所需的locale,可以多選。最後指定一個係統默認的locale。這樣係統就會幫你自動生成相應的locale和配置好係統的locale
· 增加新的locale也很簡單,用dpkp-reconfigure locales重新配置(zhì)locale即(jí)可。
· 我們也可手動增(zēng)加(jiā)locale,隻要把新的locale增加到/etc/locale.gen文(wén)件中,再運行locale-gen命(mìng)令即可生成新的locale。再通過(guò)設置上麵介紹的LC_*變量就可設置係統的locale了。下是一個locale.gen文件的樣例。
· # This file lists locales that you wish to have built. You can find a list
· # of valid supported locales at /usr/share/i18n/SUPPORTED. Other
· # combinations are possible, but may not be well tested. If you change
· # this file, you need to rerun locale-gen.
· #
·zh_CN.GBK GBK
·zh_CN.UTF-8 UTF-8
-----------------------------------------
在(zài)我看來隻要搞清楚LANG和SUPPORTED就OK了(le),其他可能平時也用不(bú)太多。再(zài)參考篇文(wén)章,如下(xià),是講如何設置環境變量的。
-------------------------------------------
修改 /etc/sysconfig/i18n 文件(jiàn),如(rú)
LANG="en_US.UTF-8&qu

關鍵詞:LINUX,中文亂碼

閱讀本文後您有什麽感想? 已有 人給出評價!

  • 0 歡迎(yíng)喜歡
  • 0 白癡(chī)
  • 0 拜(bài)托
  • 0 哇
  • 0 加油
  • 0 鄙視
免费人欧美成又黄又爽的视频丨一本色道久久88综合日韩精品丨国产专区日韩精品欧美色丨午夜无遮挡男女啪啪视频丨国产欧美日韩综合精品一区二区丨亚洲精品无码不卡在线播HE丨亚洲精品国产精品国自产观看丨日韩国产高清av不卡