亂碼是什麼?

亂碼是指文字變成一堆看不懂的符號或無關的字,例如 §A¦n 取代了 你好。文字以一種編碼儲存、卻用另一種編碼讀取時就會出現,大多數情況下都能完整還原。把亂碼貼到下方的框中試試看。

支援文字與以下檔案:

  • CSV
  • TXT
  • JSON
  • XML
  • SRT
  • VTT
  • TSV
  • MD
  • HTML
  • SQL
  • LOG

例如 Excel 匯出、資料庫備份、字幕或網站程式碼。

修復

  1. 拖入檔案或貼上文字
  2. 自動修復
  3. 複製或下載
或把檔案拖到這裡
  • 不必上傳。 檔案直接在瀏覽器中修復,不會離開你的裝置。

  • 伺服器位於歐盟。 Mojibuster 在 芬蘭(歐盟)的伺服器上運作,受《一般資料保護規則》(GDPR)規範。 GDPR 全文(EUR-Lex,英文)

「亂碼」和 mojibake

亂碼在英文中稱為 mojibake,來自日文「文字化け」,意思是「文字變了樣」。1990 年代的日本同時使用 Shift_JIS、EUC-JP、ISO-2022-JP 等多種編碼,亂碼的郵件和網頁隨處可見,這個詞也因此進入了英文。在中文裡,大家習慣稱它為「亂碼」。

亂碼是怎麼產生的

電腦用位元組儲存文字,編碼規定哪些位元組代表哪個字。在 Big5 中,「你好」是四個位元組 A7 41 A6 6E。如果軟體把這些位元組當成西文編碼(Windows-1252)讀取,每個位元組都會變成一個獨立的字元,你好 就成了 §A¦n。

這一步中位元組本身並沒有遺失,只是被讀錯了。所以用正確的編碼重新讀取,就能還原原文。Mojibuster 會把亂碼還原成位元組,再以正確的編碼讀取。

Big5 文字在西文系統中顯示時

亂碼

§A¦n¡A¶Ã½X¤w¸g­×´_¤F
¥x¥_¥««H¸q°Ï

修復後

你好,亂碼已經修復了
台北市信義區

常見的亂碼類型

  • §A¦n 這類夾雜符號的拉丁字母:Big5 文字在西文系統中顯示(Big5 轉 UTF-8)。
  • 一堆無關的漢字:UTF-8 文字被當成 Big5 讀取,常見於用 Excel 雙擊開啟 UTF-8 的 CSV 檔(Excel 開啟 CSV 亂碼)。
  • ? 或 �:無法轉換的字被取代,原本的資訊已經遺失。

亂碼的常見原因

  • 用 Excel 雙擊開啟沒有 BOM 的 UTF-8 CSV 檔(會以 Big5 讀取)。
  • 在 Mac 或只支援 UTF-8 的軟體中開啟 Big5(ANSI)檔案。
  • 網頁或郵件宣告了與實際不符的編碼(charset)。
  • 已經變成亂碼的文字又被轉換了一次。

亂碼都能修復嗎?

只要位元組還在,大多數都能修復。但如果文字在儲存或傳送時已經變成 ? 或 �,原本的資訊就遺失了,無法還原。Mojibuster 會修復所有能修復的部分,並告訴你有幾處無法還原。

如何避免亂碼

  • 檔案一律儲存為 UTF-8,要用 Excel 開啟的 CSV 儲存為 UTF-8(含 BOM)。
  • HTML 中加上 <meta charset="utf-8">,MySQL 和 MariaDB 使用 utf8mb4。
  • 匯入資料時手動指定編碼,不要讓軟體自動猜測。
  • 只在系統交界處轉換一次編碼。

常見問題

亂碼怎麼修復?

把亂碼貼到上方的框中,或直接拖入檔案,Mojibuster 會自動辨識並修復。大多數亂碼只是被用錯誤的編碼讀取,重新讀取即可還原原文。

檔案是損壞了還是中毒了?

都不是。亂碼只是顯示問題,不是病毒,通常資料也沒有遺失。

亂碼和 � 有什麼不同?

像 §A¦n 這樣的亂碼仍保留著原本的位元組,可以修復。� 表示軟體無法讀取某個位元組並取代了它,原本的字已經遺失。

文字會被上傳嗎?

不會。修復完全在瀏覽器中進行,文字不會被傳送或儲存。

更多說明