問題
辦公室怪事2026年10月8日為什麼 CSV 檔用 Excel 直接點開,中文會變成亂碼?
ExcelCSVUTF-8BOMMicrosoft
詳細說明
BOM 是檔案開頭的暗號
BOM 是放在檔案最前面的特殊字元(U+FEFF),UTF-8 的 BOM 是三個位元組 EF BB BF,用來告訴程式「這是 Unicode 編碼」。Wikipedia 說明,UTF-8 的 BOM 是選用的,Unicode 標準並不要求;但不少 Windows 上的軟體會把它當成辨識依據。Microsoft 也寫得很直接:UTF-8 的 CSV 如果存檔時有帶 BOM,就能在 Excel 正常開啟。
沒有 BOM 時,改用匯入的方式開
Microsoft 的建議是不要直接雙擊,而是在 Excel 裡到「資料」>「取得資料」>「從檔案」>「從文字/CSV」匯入,或使用「從文字」的匯入精靈(屬於舊版功能,可能要先在選項中啟用)。精靈第 1 步有 File origin(檔案來源)選項,要選成跟檔案相符的字元集,這裡就是 UTF-8。Microsoft 說明,一般情況下這個選項保持預設即可,但如果檔案是用和你電腦不同的字元集建立的,就得手動改。
如果檔案是你自己匯出的
程式或系統匯出 CSV 時,存成「UTF-8 含 BOM」最省事,收到檔案的人雙擊就能正常開啟。不過 Wikipedia 也提醒,BOM 會讓不預期檔案開頭有非 ASCII 位元組的軟體出問題,所以要看這個檔案之後還會交給誰用。
也有人這樣問
CSV 開啟亂碼、Excel 開 CSV 中文亂碼、Excel CSV UTF-8 亂碼、CSV 亂碼 BOM、Excel 開啟 csv 變亂碼 怎麼辦