CSV 用 Excel 開啟中文亂碼怎麼辦?
CSV 是純文字檔,Excel 得自己猜它用哪種編碼。猜錯時,中文、日文或帶重音的字就會變成亂碼。這篇說明原因與解法。
為什麼會亂碼
CSV 檔案本身不會註明編碼。Windows 的 Excel 常會假設系統的舊式編碼(繁體中文是 Big5、簡體中文是 GBK、日文是 Shift-JIS),除非檔案開頭有 UTF-8 的位元組順序記號。沒有這個記號的 UTF-8 檔,或在另一套系統上開啟的 Big5 檔,就會顯示錯誤的字。
解法一:轉成 .xlsx
用「CSV 轉 Excel」開啟 CSV。編碼會自動判斷(先 UTF-8,再 Big5、GBK、Shift-JIS、EUC-KR),預覽看起來不對就換一個編碼。.xlsx 以 Excel 一定讀得懂的方式儲存文字,轉換在你的瀏覽器內進行。
廣告
廣告
解法二:在 Excel 用正確方式匯入
在 Excel 選「資料 › 從文字/CSV」,載入前在預覽視窗選擇檔案原始格式(例如 65001:Unicode UTF-8,或繁體中文 Big5)。自己儲存資料時,選「CSV UTF-8(逗號分隔)」,其他程式才讀得正確。
前導 0 與長數字
Excel 會去掉前導 0(007 變成 7),超過 15 位的數字會用科學記號顯示,第 15 位之後的數字會遺失。身分證字號、電話與類似卡號的數字應該保留成文字。「CSV 轉 Excel」會把這類值保留成文字,一般數字仍是數字。
分隔符號與引號
有些地區用分號而不是逗號,含有逗號或換行的欄位必須用引號包起來。轉換器會偵測逗號、分號、Tab 與直線分隔,也能處理引號欄位。
廣告
本文用到的工具
常見問題
為什麼中文 CSV 在 Excel 是亂碼?
Excel 猜錯了編碼。把檔案轉成 .xlsx,並在預覽中選對編碼。
儲存 CSV 該用哪種編碼?
UTF-8 最安全。在 Excel 選「CSV UTF-8(逗號分隔)」。
前面的 0 會保留嗎?
會。像 007 或 0912345678 會保留成文字。
我的檔案會被上傳嗎?
不會,在瀏覽器內轉換。
廣告