CSV 編碼助手
丟一份亂碼 CSV,看清真實編碼,下載一份 Excel 能正常開啟的檔案。
把 CSV 拖到這裡
或點選選擇 —— 支援 .csv / .tsv / .txt,上限 5.0 MB。只在本標籤頁讀取,不上傳。
匯出
怎麼用
- 把 CSV 拖到卡片上,或點選「選擇檔案」。編碼與分隔符會立刻檢測出來,表格直接顯示在下方 —— 沒有要點的按鈕。「這份檔案是什麼」那一行會告訴你用了哪個編碼,以及還有幾個候選同樣能完整解碼這份檔案。
- 如果預覽還是錯的,就手動指定源編碼。候選順序跟隨本頁語言:中文頁以 GB18030、Big5 開頭,阿語頁以 Windows-1256、ISO-8859-6 開頭,英文頁以 Windows-1252、MacRoman 開頭。切換是即時的,也不會動你開啟的檔案。
- 點「下載 CSV」拿到修好的副本。它一定是 UTF-8;預設勾選的「加 BOM」會在開頭寫入三個位元組的標記,讓 Excel 不再回退到系統碼頁。「複製」給你同樣的文本但不帶這個標記,可以直接粘進資料庫或指令碼。
- 「貼上文本」是第二個入口,用於亂碼字元已經被當成文本儲存下來的情況。此時原始位元組不可得,檢測無從談起,但勾選「修復亂碼字元」會把文本按 Windows-1252 寫回位元組再按 UTF-8 讀出來,把「汉å—」還原成「漢字」。
示例
示例檔案(UTF-8 無 BOM 的中文 CSV)
姓名,城市,備註,金額 陳怡君,臺北,"急件,謝謝",89.90 林志明,高雄,普通,15.50
下載的檔案(UTF-8 帶 BOM)
姓名,城市,備註,金額 張偉,北京,"加急,謝謝",89.90 李娜,上海,普通,15.50
中文 CSV 最常見的亂碼成因不是編碼錯了,而是缺 BOM —— Windows 版 Excel 雙擊開啟時會回退到系統碼頁。示例檔案正是這種情況:內容是對的,缺的是開頭那三個位元組。
侷限
- 只匯出 UTF-8(帶或不帶 BOM)。平臺自帶的 TextEncoder 只實現 UTF-8,自造碼頁表無法與 iconv / Excel 逐位元組對齊驗證,介面上寫「已轉為 GBK」屬於偽精確。需要輸出遺留碼頁時,請先在這裡確認源編碼和內容,再在本地執行 iconv -f <源編碼> -t GBK。
- 遺留碼頁一律報「猜測」,從不報「確定」。GBK 與 Big5、Windows-1252 與 MacRoman 在短樣本上天然可互換,因此工具會列出並列候選,由你看一眼預覽確認,一鍵即可切換。
- 少數 GBK / Big5 位元組序列碰巧也是合法 UTF-8(C2 80 在 GB18030 裡是「聙」,在 UTF-8 裡是控制字元)。這種情況會降級為「猜測」並同時列出候選,不會假裝確定。反過來,不含假名的純漢字日文與中文在位元組層面無法區分,工具會如實並列。
- 候選集是瀏覽器 TextDecoder 支援的碼頁,不含 CP437、TIS-620、hp-roman8,UTF-32 完全無法解碼 —— 命中 UTF-32 的位元組序標記會明確報出並拒絕。
- 貼上的文本沒有位元組。亂碼字元還在時可以修復,但已經變成 ? 或取代字元的文本資訊已經丟失,工具不會假裝修好它。
- 預覽只渲染前 200 行並截斷過長的單元格;下載是全量、完整值。資料本身一律不 trim、不去前導零、不推斷日期與數字,引號內的逗號原樣保留。
- 檔案超過 5 MB、文本超過 200,000 碼點會明確報錯而不是靜默截斷。.xls / .xlsx 是二進位制容器,不讀取。
- 全部在本標籤頁完成:不上傳、不寫進位址列、不落儲存。想驗證的話,頁面載入完成後斷開網路,工具照常工作。
相關工具
同一份檔案的鄰近步驟:檢視、整理、轉換。