檔案編碼轉換工具(UTF-8 帶BOM・Shift_JIS)
轉換CSV或文字檔的字元編碼。為UTF-8檔案加上BOM讓Excel正確開啟,或轉換為Shift_JIS。自動判斷原編碼,支援換行字元轉換,全部在瀏覽器內處理。
依用途推薦的設定
該存成哪種編碼取決於接收方。以下為參考。
| 需求 | 推薦設定 |
|---|---|
| 用Excel直接開啟UTF-8的CSV | UTF-8 + 加上BOM(Excel可正確判斷編碼) |
| 匯入舊業務系統・會計軟體 | Shift_JIS + CRLF(面向Windows的傳統組合) |
| 由程式(Python・PHP等)讀取 | UTF-8(無BOM)+ LF(BOM會混入第一個欄位名) |
| 用Mac版Excel開啟 | UTF-8 + 加上BOM |
| 匯入Google試算表 | UTF-8(BOM可有可無)(BOM會被自動忽略) |
| 準備舊郵件環境的內文 | JIS(ISO-2022-JP) |
各編碼的特點
本工具支援的編碼及注意事項。
| 編碼 | 特點 |
|---|---|
| UTF-8 | 目前的通用標準,可表示各國文字與表情符號。 |
| UTF-8(帶BOM) | 檔案開頭附加3位元組標記,使Excel不會誤判編碼。 |
| Shift_JIS | Windows日文環境長期使用的編碼,無法表示表情符號與部分異體字。 |
| EUC-JP | 主要用於UNIX系統的日文編碼,現在很少新採用。 |
| ISO-2022-JP(JIS) | 郵件中使用的編碼,無法表示半形片假名。 |
小提示
- 若只是想用Excel開啟,UTF-8加上BOM最安全,內文字元完全保留。
- 轉換為Shift_JIS時無法表示的字元會變成「?」。本工具會先列出將要遺失的字元。
- 由程式讀取的檔案請勿加上BOM,否則BOM會成為第一個欄位名的一部分。
常見問題
若接收方只有Excel,請選帶BOM的UTF-8,可在不遺失任何字元的前提下避免亂碼。只有當目標系統明確要求時才需要Shift_JIS。
檔案開頭的3個位元組(EF BB BF)。它不會顯示為文字,但Excel等應用會據此判斷編碼為UTF-8,內文不受影響。
不會。判斷、轉換與下載全部在瀏覽器內完成,檔案內容不會傳送到外部。
閒話 ― 亂碼的形狀會告訴你原因
亂碼有可辨認的規律。出現一串互不相關的漢字,通常是把UTF-8的位元組當作Shift_JIS讀取所致——UTF-8中一個日文字元佔3位元組,按2位元組重新切分自然會得到完全不同的字。反之把Shift_JIS當作UTF-8讀取時,由於位元組序列本身無效,會出現一排替換字元。
BOM原本是為UTF-16標示位元組順序而設計的。UTF-8不存在位元組順序問題,因此Unicode標準並不推薦為UTF-8加上BOM。但在Windows生態中它依然廣泛使用,因為只能靠猜測判斷編碼的應用確實需要一個明確的標記。