地址 CSV 打開變亂碼怎麼辦?先選 UTF-8,不要直接另存覆蓋

看到「臺」變成奇怪符號或整欄中文不可讀時,先關閉檔案而且不要儲存。CSV 是純文字資料,Excel 直接雙擊時會依目前環境判讀;一旦在亂碼狀態另存,原始位元可能被新的錯誤文字覆蓋,之後就難以還原。
先判斷是顯示問題還是來源已壞
保留原始檔副本,例如 customers-original.csv,再用文字編輯器或匯入預覽查看。使用虛構地址「範例市示範區臺灣路8號」測試:
| 現象 | 可能原因 | 下一步 |
|---|---|---|
| 只有 Excel 亂碼,文字編輯器正常 | 開檔時編碼判讀不同 | 用「從文字/CSV」重新匯入 |
| 所有程式都亂碼 | 上游匯出時已損壞 | 回原系統重匯或索取原檔 |
| 少數罕見字變成方框 | 字型或字元支援問題 | 換字型並檢查實際字元 |
| 臺變成台但其他字正常 | 來源或清理規則改字 | 比對原值,不能當編碼問題 |
安全重開步驟
- 將原始 CSV 複製成唯讀備份,記下檔案大小與收到時間。
- 開空白 Excel,選「資料 → 從文字/CSV」,不要直接雙擊檔案。
- 在預覽中切換檔案來源或編碼,直到標題與幾筆中文地址都正常。
- 確認分隔符號沒有讓地址中的逗號拆欄。
- 將郵遞區號、門牌片段、室號與資料 ID 設為文字後再載入。
- 抽查「臺/台」、村里、巷弄、之號、樓室與罕見地名;不能只看第一列。
- 另存成 XLSX 工作副本;需要 CSV 時,最後再另匯出並重新讀回。
若編碼選項怎麼切都沒有一個能讓全部地址正常,不要逐字猜回中文。將該檔標成錯誤,向提供者索取原始匯出或確認使用的編碼。修正亂碼只代表文字能讀,不表示地址存在或門牌正確。
重新匯入後可把地址欄交給批次地址整理工具做格式分流;欄位與原始值保存方式見Excel 地址批次整理指南。若亂碼造成多筆地址看似相同,先依重複地址名單清理建立候選,不要直接刪列。
不要反覆用不同編碼另存猜答案
同一串位元用不同編碼解讀會出現不同文字;一旦把錯誤顯示另存,系統會把亂碼當成新內容寫回,原字可能無法復原。應保留唯讀原件,所有嘗試都在副本或匯入預覽進行,並記錄選用編碼與來源系統。
可準備含「臺、區、巷、之、樓」的已知公開測試字串,分別檢查檔頭、文字編輯器顯示與 Excel 預覽。若 UTF-8 預覽正確,就用明確指定 UTF-8 的匯入流程;若上游宣稱 Big5,則要求對方提供匯出規格,不靠肉眼挑一個看起來較少亂碼的結果。
修復後做逐字與筆數驗收
抽查行政區、路名、門牌、罕見字及引號逗號,確認沒有用問號或替代符取代。再核對檔案列數、record_id 和各狀態筆數,避免編碼修好卻因換行解析漏列。若原檔本身已把字元寫成問號,改編碼不能還原,必須回來源重匯或人工補件。
最後另存新檔並保留 original、recovered、encoding_note 三者關係。地址工具只能處理讀回後的文字,不會知道某個同音字原本是什麼;不確定的字應維持待確認,不能用常見路名自動替換。
檔名正常不代表內容編碼正確
檔名顯示中文只反映檔案系統能處理名稱,和 CSV 內容使用哪種編碼無關。也不要因副檔名是 CSV 就假設 UTF-8。真正依據是上游匯出規格、位元內容和匯入預覽。若需要轉碼,保存轉碼工具、來源編碼、目標編碼與錯誤處理方式。