麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 服務器 > Linux服務器 > 正文

如何解決LINUX中文亂碼問題

2024-09-05 23:00:36
字體:
來源:轉載
供稿:網友

在XP系統于LINUX之間傳數據時出現中文亂碼問題!
,解釋一下字符集:

漢字編碼:
* GB2312字集是簡體字集,全稱為GB2312(80)字集,共包括國標簡體漢字6763個. * BIG5字集是臺灣繁體字集,共包括國標繁體漢字13053個. * GBK字集是簡繁字集,包括了GB字集、BIG5字集和一些符號,共包括21003個字符. * GB18030是國家制定的一個強制性大字集標準,全稱為GB18030-2000,它的推出使漢字集有了一個“大一統”的標準.

ASCII:
American Standard Code for Information Interchange,美國信息交換標準碼. 目前計算機中用得最廣泛的字符集及其編碼,由美國國家標準局(ANSI)制定. 它已被國際標準化組織(ISO)定為國際標準,稱為ISO 646標準. ASCII字符集由控制字符和圖形字符組成. 在計算機的存儲單元中,一個ASCII碼值占一個字節(8個二進制位),其最高位(b7)用作奇偶校驗位. 所謂奇偶校驗,是指在代碼傳送過程中用來檢驗是否出現錯誤的一種方法,一般分奇校驗和偶校驗兩種. 奇校驗規定:正確的代碼一個字節中1的個數是奇數,若非奇數,則在最高位b7添1. 偶校驗規定:正確的代碼一個字節中1的個數是偶數,若非偶數,則在最高位b7添1.

UTF:
Unicode 的實現方式不同于編碼方式. 一個字符的Unicode編碼是確定的,但是在實際傳輸過程中,不同系統平臺的設計不一定一致,以及出于節省空間的目的,對Unicode編碼的實現方式有所不同. Unicode的實現方式稱為Unicode轉換格式(Unicode Translation Format,簡稱為 UTF). * UTF-8: 8bit變長編碼,對于大多數常用字符集(ASCII中0~127字符)它只使用單字節,而對其它常用字符(特別是朝鮮和漢語會意文字),它使用3字節. * UTF-16: 16bit編碼,是變長碼,大致相當于20位編碼,值在0到0x10FFFF之間,基本上就是unicode編碼的實現,與CPU字序有關。
注意:ASCII char (2) ;UTF-8 寬字符 wchar 4倍 .兼容性最好的編碼就是UTF-8! 畢竟GBK/GB2312是國內的標準,當我們大量使用國外的開源軟件時,UTF-8才是編碼界最通用的語言.

在Linux中通過locale來設置程序運行的不同語言環境,locale由ANSI C提供支持.locale的命名規則為<語言>_<地區>.<字符集編碼>,如zh_CN.UTF-8,zh代表中文,CN代表大陸地區,UTF-8表示字符集.在locale環境中,有一組變量,代表國際化環境中的不同設置:
1. LC_COLLATE
定義該環境的排序和比較規則
2. LC_CTYPE
用于字符分類和字符串處理,控制所有字符的處理方式,包括字符編碼,字符是單字節還是多字節,如何打印等.是最重要的一個環境變量.
3. LC_MONETARY
貨幣格式
4. LC_NUMERIC
非貨幣的數字顯示格式
5. LC_TIME
時間和日期格式
6. LC_MESSAGES
提示信息的語言.另外還有一個LANGUAGE參數,它與LC_MESSAGES相似,但如果該參數一旦設置,則LC_MESSAGES參數就會失效.LANGUAGE參數可同時設置多種語言信息,如LANGUANE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"
7. LANG
LC_*的默認值,是最低級別的設置,如果LC_*沒有設置,則使用該值.類似于 LC_ALL.
8. LC_ALL
它是一個宏,如果該值設置了,則該值會覆蓋所有LC_*的設置值.注意,LANG的值不受該宏影響.
一個例子:
設置前,使用默認locale:[root@db-wanggaofei ~]# localeLANG="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_TELEPHONE="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 ~]# localeLANG=zh_CN.UTF-8LC_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_TELEPHONE="zh_CN.GBK"LC_MEASUREMENT="zh_CN.GBK"LC_IDENTIFICATION="zh_CN.GBK"LC_ALL=zh_CN.GBK

"C"是系統默認的locale,"POSIX"是"C"的別名.當我們新安裝完一個系統時,默認的locale就是C或POSIX.
在Debian中安裝locales的方法如下:
· 通過apt-get install locales命令安裝locales包
· 安裝完成locales包后,系統會自動進行locale配置,你只要選擇所需的locale,可以多選.指定一個系統默認的locale.這樣系統就會幫你自動生成相應的locale和配置好系統的locale.
· 增加新的locale也很簡單,用dpkp-reconfigure locales重新配置locale即可.
· 我們也可手動增加locale,只要把新的locale增加到/etc/locale.gen文件中,再運行locale-gen命令即可生成新的locale.再通過設置上面介紹的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
-----------------------------------------在我看來只要搞清楚LANG和SUPPORTED就OK了,其他可能平時也用不太多.再參考篇文章,如下,是講如何設置環境變量的.-------------------------------------------修改 /etc/sysconfig/i18n 文件,如LANG="en_US.UTF-8",xwindow會顯示英文界面,LANG="zh_CN.GB18030",xwindow會顯示中文界面. 還有一種方法 cp /etc/sysconfig/i18n $HOME/.i18n 修改 $HOME/.i18n 文件,如LANG="en_US.UTF-8",xwindow會顯示英文界面,LANG="zh_CN.GB18030",xwindow會顯示中文界面.這樣就可以改變個人的界面語言,而不影響別的用戶修改后的/etc/sysconfig/i18n 文件為:LANG="en_US.UTF-8"SUPPORTED="zh_CN.GB18030:zh_CN:zh:en_US.UTF-8:en_US:en"SYSFONT="latarcyrheb-sun16"LC_ALL="en_US.UTF-8"export LC_ALL設置完畢后重啟或者用rc.local使生效
或修改登錄用戶的.bash_profile文件加入
export LANG=zh_CN.GB18030
export LANGUAGE=zh_CN.GB18030:zh_CN.GB2312:zh_CN
-----------------------------------------------------------------------------------------------
一定要知道Windows XP 是GB2312的編碼,如果你的服務器字符集不是這個,估計就會是亂碼,要調整.
有些人在調整的時候,說我改了系統環境變量,結果造成用戶內容顯示亂碼,無非解決的方法就是兩個:
1.用iconv轉化為目前的編碼
2.用你原來使用的編碼
看了這兩條,你肯定要明確,你原來的字符編碼是如何的.說來說去,無非就是LANG SUPPORTED 和你原文件字符集的編碼:)當然了locale -a你可以看看目前系統里支持的字符集,如果不支持,還要安裝奧.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 特一级毛片| 日韩一级免费毛片 | 国产精品一区在线免费观看 | 羞羞视频免费入口网站 | 国产激爽大片在线播放 | 日本中文一级片 | 操碰在线视频 | 主播粉嫩国产在线精品 | 毛片一区二区三区四区 | 国产精品久久久免费观看 | 黄色网址在线播放 | 成人在线视频一区 | 成人在线视频在线观看 | 免费h片 | 国产成人在线观看网站 | 黄色网址免费在线 | 欧美国产日韩在线 | 毛片免费视频播放 | 日本a∨精品中文字幕在线 欧美1—12sexvideos | 九九精品在线观看视频 | 成人区一区二区 | 国产亚洲精久久久久久蜜臀 | 性看小视频 | 精品一区二区久久久久久按摩 | 亚洲精品无码不卡在线播放he | 欧洲精品视频在线观看 | 国产精品免费久久久久 | 在线播放视频一区二区 | 黄色片网站在线看 | 国产一国产一级毛片视频在线 | 精国品产一区二区三区有限公司 | xnxx 美女19| 久久777国产线看观看精品 | 3344永久免费 | 香蕉久久久精品 | 亚洲精品欧美二区三区中文字幕 | 九九精品久久 | 国产精品视频一区二区三区四区国 | 蜜桃视频日韩 | 在线播放亚洲视频 | 成人做爽爽爽爽免费国产软件 |