1. 程式人生 > >Chrome開啟網頁顯示亂碼的解決方法

Chrome開啟網頁顯示亂碼的解決方法

               

Chrome預設的編碼是Unicode(UTF-8),

當國內某些網站頁面的編碼是其他編碼格式時,如GB2312,就會出現亂碼的情況。

解決方法就是手動設定編碼:

Tools->Encoding,選擇GBK或gb18030或Auto Detect。

那麼這些字符集的區別是什麼呢?

GB2312

GB2312 碼是中華人民共和國國家漢字資訊交換用編碼,全稱《資訊交換用漢字編碼字符集——基本集》,由國家標準總局釋出,1981年5月1日實施,通行於大陸。新加坡等地也使用此編碼。

GB2312 收錄簡化漢字及符號、字母、日文假名等共 7445 個圖形字元,其中漢字佔 6763 個。GB2312 規定“對任意一個圖形字元都採用兩個位元組表示,每個位元組均採用七位編碼表示”,習慣上稱第一個位元組為“高位元組”,第二個位元組為“低位元組”。

GB2312 將程式碼表分為 94 個區,對應第一位元組;每個區 94 個位,對應第二位元組,兩個位元組的值分別為區號值和位號值加 32(2OH),因此也稱為區位碼。01-09 區為符號、數字區,16-87 區為漢字區,10-15 區、88-94 區是有待進一步標準化的空白區。GB2312 將收錄的漢字分成兩級:第一級是常用漢字計 3755 個,置於 16-55 區,按漢語拼音字母/筆形順序排列;第二級漢字是次常用漢字計 3008 個,置於 56-87 區,按部首/筆畫順序排列。故而GB2312最多能表示 6763 個漢字。

GB2312 的編碼範圍為 2121H-777EH,與 ASCII 有重疊,通行方法是將 GB 碼兩個位元組的最高位置 1 以示區別。

GBK

GB2312 僅收漢字 6763 個,這大大少於現有漢字,隨著時間推移及漢字文化的不斷延伸推廣,有些原來很少用的字,現在變成了常用字,例如:朱鎔基的“鎔”字,未收入 GB2312-80,現在大陸的報業出刊只得使用(金+容)、(金容)、(左金右容)等來表示,形式不一而同,這使得表示、儲存、輸入、處理都非常不方便,對於搜尋引擎等軟體的構造來說也不是好訊息,而且這種表示沒有統一標準。從我們對人民日報 98 年資料的處理過程中,得出這樣的經驗:回填外字最困難的就是如何得到這種表示方法的集合。

為了解決這些問題,以及配合 UNICODE 的實施,全國資訊科技化技術委員會於1995年12月1日《漢字內碼擴充套件規範》。GBK 向下與 GB2312 完全相容,向上支援 ISO 10646 國際標準,在前者向後者過渡過程中起到的承上啟下的作用。GBK 亦採用雙位元組表示,總體編碼範圍為 8140-FEFE 之間,首位元組在 81-FE 之間,尾位元組在 40-FE 之間,剔除 XX7F 一條線。

GBK 共收入 21886 個漢字和圖形符號,包括:

* GB2312 中的全部漢字、非漢字元號。* BIG5 中的全部漢字。* 與 ISO 10646 相應的國家標準 GB13000 中的其它 CJK 漢字,以上合計 20902 個漢字。* 其它漢字、部首、符號,共計 984 個。

微軟公司自 Windows 95 簡體中文版開始支援GBK程式碼,但目前的多數搜尋引擎都不能很好地支援 GBK 漢字。

GBK 編碼區分三部分:

* 漢字區,包括:

  • GBK/2:OXBOA1-F7FE, 收錄 GB2312 漢字 6763 個,按原序排列;
  • GBK/3:OX8140-AOFE,收錄 CJK 漢字 6080 個;
  • GBK/4:OXAA40-FEAO,收錄 CJK 漢字和增補的漢字 8160 個。

* 圖形符號區,包括:

  • GBK/1:OXA1A1-A9FE,除 GB2312 的符號外,還增補了其它符號
  • GBK/5:OXA840-A9AO,擴除非漢字區。

* 使用者自定義區:

  • 即 GBK 區域中的空白區,使用者可以自己定義字元。

GB18030

GB18030 是最新的漢字編碼字符集國家標準, 向下相容 GBK 和 GB2312 標準。 GB18030 編碼是一二四位元組變長編碼。一位元組部分從 0x0~0x7F 與 ASCII 編碼相容。 二位元組部分, 首位元組從 0x81~0xFE, 尾位元組從 0x40~0x7E 以及 0x80~0xFE, 與 GBK 標準基本相容。 四位元組部分, 第一位元組從 0x81~0xFE, 第二位元組從 0x30~0x39, 第三和第四位元組的範圍和前兩個位元組分別相同。 四位元組部分覆蓋了從 0x0080 開始, 除去二位元組部分已經覆蓋的所有 Unicode 3.1 碼位。也就是說, GB18030 編碼在碼位空間上做到了與 Unicode 標準一一對應,這一點與 UTF-8 編碼類似。

目前最新的 glibc 2.2.x 系列已經全面支援了 GB18030 Locale 和 GB18030 與 UCS-4 之間的編碼轉換, 也就是說在系統層上 Linux 已經可以支援 GB18030 標準了。 下面問題的關鍵就是怎樣讓 XFree86 視窗系統也支援 GB18030 標準。

BIG5

BIG5 是通行於臺灣、香港地區的一個繁體字編碼方案。雖然存在一些瑕疵,但廣泛應用於電腦行業,尤其是網際網路中,從而成為一種事實上的行業標準。

1983年10月,臺灣國家科學委員會、教育部國語推行委員會、中央標準局、行政院共同制定了《通用漢字標準交換碼》,後經修訂於1992年5月公佈,更名為《中文標準交換碼》,BIG5 是臺灣資訊工業策進會根據以上標準制定的編碼方案。

BIG5 碼是雙位元組編碼方案,其中第一個位元組的值在 OXAO-OXFE 之間,第二個位元組在 OX40-OX7E 和 OXA1-OXFE 之間。

BIG5 收錄 13461 個漢字和符號,包括:

* 符號 408 個,編碼位置 A140-A3BE* 常用字 5401 個,編碼位置 A440-C67E,包括臺灣教育部頒佈的《常用國字標準字型表》的全部漢字 4808 個,臺灣教科書常用字 587 個,異體字 6 個。* 次常用字 7652 個,編碼位置 C940-F9D5,包括臺灣教育部頒佈的《次常用國字標準字型表》的全部漢字 6341 個,《罕用國字標準字型表》中使用頻率較高的字 1311 個。