首頁 · 免費工具 · CSV 亂碼修復

CSV 亂碼修復

檔案沒有壞,只是存檔的編碼和讀檔的編碼不一樣。把 .csv 拖進來, 這一頁會判斷它是 Big5(CP950)、UTF-8 還是別的,用對的方式讀出來,並且告訴你用了哪一種。 匯出一律是 UTF-8。全部在這個分頁裡完成,檔案不會上傳。

開啟亂碼的 CSV

把 .csv / .txt 拖到這裡,或點一下選擇檔案

不會上傳任何東西。檔案由這個分頁的 JavaScript 讀取,不會離開你的電腦 —— 沒有任何伺服器看得到,關掉分頁資料就沒了。

把亂碼的 CSV 讀回中文

  1. 把檔案拖進來. 由這個分頁的 JavaScript 讀取,不會上傳到任何伺服器。
  2. 看它判成哪一種. 表格上方會寫「以 Big5 讀取」之類的字。中文正常了就是判對了。
  3. 匯出 UTF-8. 下載 .csv 或 .xlsx,內容一律是 UTF-8,下游不會再亂一次。

為什麼會變成「�」和方框

CSV 裡沒有任何地方寫著「我是哪一種編碼」。它就是一串位元組,讀的人得自己猜。 猜錯了,同一串位元組就會被解成別的字:Big5 存的「台北市」用 UTF-8 讀, 會變成問號、方框或一串看不懂的符號。檔案本身完全沒有被破壞 —— 換個讀法就回來了。

台灣特別容易撞到這件事,因為 Big5(在 Windows 上叫 CP950) 還沒退場: 不少政府開放資料、老一點的 ERP、進銷存與 POS 系統匯出的 CSV 至今仍是 Big5, 而現在的編輯器、Google 試算表、macOS 上的 Excel 預設都用 UTF-8。

這一頁怎麼判斷

  1. 先看檔頭有沒有 BOM(位元組順序記號)。有的話編碼就是明講的,不用猜。
  2. 沒有 BOM,就用嚴格模式逐一試 UTF-8、Big5、Shift-JIS、GBK、EUC-KR —— 解不出來的直接淘汰,這一步就會刷掉大部分候選。
  3. 剩下幾個都解得出來時,數中日韓文字與控制字元的比例來評分,取分數最高的。
  4. 全部失敗才退回 Windows-1252,並在頁面上寫明。

判斷結果會印在表格上方。看中文正不正常就知道對不對 —— 這比任何說明都可靠。

判錯了怎麼辦

很短的檔案(只有幾列、又幾乎全是數字)本來就沒什麼線索可判,這時候可能會猜錯。 兩個實務做法:請對方重新以 UTF-8 with BOM 匯出一次,那是最省事的; 或者先在文字編輯器裡另存成 UTF-8,再拿回來這一頁。

修好之後,別讓 Excel 再弄壞一次

在 Windows 版 Excel 裡雙擊打開一個沒有 BOM 的 UTF-8 CSV, 它會照系統地區設定當成 Big5 讀 —— 於是又亂了一次。兩個避開的方式:

  • 用這一頁下載 .xlsx 而不是 .csv。活頁簿把編碼寫死在檔案裡,雙擊永遠正確。
  • 真的要 CSV,就用 Excel 的「資料 → 從文字/CSV」匯入,在對話框裡指定 65001(UTF-8)。

可以自己確認沒有上傳

按 F12 打開開發者工具、切到「網路」分頁,再把檔案拖進來: 不會出現任何一筆新的請求。檔案是被這個分頁裡的 JavaScript 直接讀掉的。

常見問題

Big5 和 CP950 是同一個嗎?

實務上可以當成同一個。CP950 是微軟在 Windows 上實作的 Big5,多了一些造字區的字。這一頁的判斷把它們當作同一種處理。

會不會改到我的資料?

不會。只是換一種方式把同一串位元組解讀成文字,內容一個字都沒有被修改。前導零、全形字、半形空白都原樣保留。

簡體中文的檔案(GBK)可以嗎?

可以,GBK 也在候選清單裡。判斷完一樣以 UTF-8 匯出。

檔案很大會不會當掉?

限制來自你瀏覽器的記憶體,不是我們設的配額。幾萬列很順;到幾十萬列建議用桌面版。

同一件事,在自己的電腦上做

TableDI 是一套完全在自己電腦上執行的桌面試算表工作空間。 匯入、整理、做成圖表 —— 什麼都不會上傳,也不用註冊帳號。

永久免費,不是試用 —— 不用帳號、不用信用卡。目前是 macOS,Windows 版準備中。付費版多了什麼

2026-09-01 由 TableDI 團隊最後檢查。這一頁有錯嗎?告訴我們 —— 只有一個收件匣,由做 TableDI 的人自己看。