亂碼
From Wikipedia, the free encyclopedia
Remove ads
亂碼係指電腦系統顯示唔到正確嘅字符,而顯示一啲無意義嘅字符或空白,例如一堆代碼;呢啲所顯示出來嘅文字就係稱為亂碼。

頁面:日文維基百科文章《書体》
對應於粵文維基百科文章《字體》

亂碼本來係指電腦檔案或者程式用嘅內碼唔係用家用緊嘅內碼,所以顯示出錯,後來引伸指所有睇落
由用錯內導致嘅亂碼喺2020年代基本上已經唔係問題,因為大部分系統已經轉咗用統一碼;喺網上仍然遇到嘅亂碼問題好多時係多次編碼錯誤,屬於無法修復嘅情況。
可能產生嘅原因
用錯內碼
所謂用錯內碼,可以係來源編碼錯誤,或者軟件解碼錯誤;但係呢兩種情形其實係同一個情況嘅兩面。
喺1990至2000年代,因為內碼表示嘅字元數量有限,唔同語言會用唔同內碼。例如,英文用嗰一套字母淨得26個,7位元或者8位元嘅單位元組內碼已經綽綽有餘,但係中文用嘅漢字最少幾千個字,要用雙位元組內碼。因為編碼完全唔同,英文文件拎去中文電腦,就一定會顯示錯誤;同樣,中文文件拎去英文電腦,亦一定會顯示錯誤。呢種因為唔同內碼所以顯示唔到嘅情形,喺中文叫亂碼。
因為可以表示嘅字元有限,唔同用途或者唔同廠商可能會揀唔同嘅字擺喺內碼集入便,結果係甚至同一語言都會出現亂碼嘅問題。例如,當時,喺英文世界,PC、Mac 同類Unix系統用嘅字元集喺高位元嘅128-255位置收字完全唔同;日文當時亦用緊三隻有關聯但係唔兼容嘅內碼。繁體中文當時事實上用嘅係五大碼,但係因為五大碼收字唔夠,唔同廠商都加咗唔同嘅字,結果係五大碼自己同自己都唔兼容[註 1];另外,中國大陸整排版軟件嘅廠商(例如北大方正)亦唔會用五大碼,而係用大陸自己嘅GB2312再加字,加到佢顯示到繁體中文[註 2]。
喺呢種情形下,瀏覽器好容易會例如將GBK編碼嘅網頁當成係Big5碼顯示,或電子郵件程序將對方傳來嘅郵件錯誤解碼。如果喺發送時編碼錯誤。如果解碼錯誤之後再編碼錯誤,結果可能會無法修復[1],需要寄件者嘅電郵程序重新編碼再寄等等。
其他原因
- 字體檔案缺字。
- 文件受到破壞。
Remove ads
可能解決嘅方法
- 轉換編碼。如果係漢字內容一般可以試Big5、GBK、UTF-8(統一碼嘅一種形式)、EUC-JP、Shift-JIS(日文)、EUC-KR(韓文)。喺2020年代基本上已經唔係問題,有啲瀏覽器亦唔再有轉換編碼嘅功能。
- 轉字體。如果解碼正確而出現錯誤文字,可能係有可能係字款缺字,即係字體檔案冇相對應嘅字符,可嘗試換字體。呢種情況喺用 Word 處理英文比㝔常見。
- 如果啲字變咗數字,例如最欣賞相中拉(最欣賞相中拉)等Unicode代碼,可以將呢部分抄低,獨立儲存成html檔案,再用瀏覽器打開解碼。或者可以直接用JavaScript作解讀︰
alert("最欣賞相中拉");
- 有時輸入漢字嘅時候都會出現亂碼,不過呢種情況好少出現。最大嘅原因係輸入法所用嘅編碼,同經編輯器輸出嘅字體編碼不符所致。解決方法係將輸入法設定成編輯器預期嘅編碼,或者將編輯器設定成用輸入法用嘅編碼。
有時解碼嘅方法係要視乎軟件同實際環境,同埋努力嘅嘗試嚟解碼,特別係當你唔知原本用邊個編碼系統。
Remove ads
參考
註
睇埋
出面網頁
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads