解決 CSV 亂碼問題:完整教學與實用案例

CSV檔案亂碼是資料交換常見難題,本文從亂碼成因、常見編碼比較、主流軟體操作教學,到自動化轉檔與FAQ,提供最完整的解決方案,幫助你正確處理各類CSV檔案,提升工作效率。

Notion 新創專屬 3 個月免費福利| 官方合作夥伴限定

經本站專屬連結申請,即享 3 個月 Notion Plus + AI 無限免費 (市價 $6,000 美元)! 務必保留推薦碼 venturer ,否則不符資格。 全程免費,無需信用卡。需用公司 Email 與有效公司網站。
免費使用

200+模板自動化工作流程

從數據到成果,只需一步 — 用Monday代替Excel,效率倍增!
免費使用

AI智能團隊協作

AI驅動的ClickUp超越Excel,讓工作更精準快速!
免費使用

CSV亂碼問題總覽

什麼是CSV亂碼?

CSV(Comma-Separated Values)是一種廣泛用於資料交換的純文字檔案格式,常見於報表、系統匯出、資料集下載等情境。所謂「CSV亂碼」,指的是當你用Excel、記事本或Google Sheets等軟體開啟CSV時,原本應該顯示的中文、日文或特殊符號卻變成無意義的亂碼、問號或方框,導致資料無法閱讀。

真實案例

  • 公司財務系統匯出客戶名單CSV,直接用Excel打開後,姓名欄位全變成「新客户」等亂碼。
  • 從政府資料平台下載CSV,雙擊開啟發現地址欄全是問號,無法辨識。

為什麼會發生亂碼?

亂碼的根本原因是「編碼不一致」。不同的系統、軟體、國家地區,預設的文字編碼方式可能不同。當檔案的實際編碼與開啟軟體預期的編碼不符時,就會出現亂碼。

常見亂碼情境

  • Windows系統預設用ANSI(Big5、CP950等),但檔案實際為UTF-8。
  • Mac或Linux系統預設UTF-8,卻收到來自Windows的Big5編碼檔案。
  • 網路下載的CSV未標註編碼,Excel預設錯誤解讀。

常見字符編碼與CSV

UTF-8、ANSI、Big5、Shift-JIS等比較

編碼類型 適用場景 優點 缺點 與亂碼關聯
UTF-8 跨平台、網路、國際 支援多語言、通用性高 Windows舊版Excel辨識有限 建議首選,最能避免亂碼
ANSI Windows本地 舊系統支援佳 僅支援單一語系,跨平台易亂碼 常見亂碼來源
Big5 台灣Windows 支援繁體中文 不支援多語言,跨平台易亂碼 台灣常見亂碼來源
Shift-JIS 日本地區 支援日文 其他語系不支援 日文資料易亂碼

延伸說明

  • 若需跨國、跨平台交換資料,建議統一使用UTF-8。
  • 若僅限台灣Windows內部流通,可考慮Big5,但不建議外部交換。

BOM(Byte Order Mark)介紹與影響

BOM是UTF-8檔案開頭的一段隱藏標記,用於提示軟體「這是UTF-8編碼」。
Excel(Windows):有BOM時,較能正確辨識UTF-8,否則常出現亂碼。
Google Sheets、Notepad++:通常能自動辨識UTF-8,BOM可有可無。
部分系統或程式:BOM會被當成資料內容,導致第一欄出現奇怪符號。

如何判斷CSV檔案編碼

使用記事本/Notepad++等工具判斷

Notepad++步驟

  1. 右鍵點選CSV檔案,選擇「使用Notepad++開啟」。
  2. 查看下方狀態列,會顯示「UTF-8」、「ANSI」等編碼資訊。
  3. 也可點選「編碼」選單,檢查目前檔案編碼。

Windows記事本

  • 開啟檔案後,另存新檔時可選擇「ANSI」、「UTF-8」等編碼,間接判斷原始編碼。

使用命令列(如file、iconv)判斷

Linux/macOS

  • file 檔案名稱.csv
    會顯示檔案的編碼資訊。
  • iconv -f 源編碼 -t 目標編碼 檔案.csv
    可嘗試轉換編碼,若失敗代表原始編碼判斷錯誤。

範例

file data.csv
# 輸出:data.csv: UTF-8 Unicode text

常見錯誤訊息與亂碼畫面對照

錯誤畫面/訊息 可能原因 對應解法
新客户 Big5被當成UTF-8 轉存為Big5或UTF-8
??? 編碼不符 另存為正確編碼
第一欄多出奇怪字元 BOM被當成資料 另存無BOM或調整程式

解決CSV亂碼的實用方法

用記事本/Notepad++轉存編碼

Notepad++步驟

  1. 開啟CSV檔案。
  2. 點選「編碼」→選擇「以UTF-8編碼」。
  3. 點選「檔案」→「另存新檔」,選擇UTF-8(可選加BOM)。

Windows記事本

  1. 開啟CSV檔案。
  2. 點選「檔案」→「另存新檔」。
  3. 編碼選擇「UTF-8」或「ANSI」,再儲存。

用Excel正確匯入CSV

步驟一:不要直接雙擊開啟

直接雙擊CSV,Excel會用預設編碼(通常是ANSI),容易亂碼。

步驟二:用「資料」匯入

  1. 開啟Excel,點選「資料」→「自文字/CSV」。
  2. 選擇CSV檔案,於「檔案原始格式」下拉選單選擇「65001: Unicode (UTF-8)」。
  3. 預覽無亂碼後,點選「載入」。

實際案例

  • 下載政府開放資料CSV,直接開啟亂碼,改用「資料」匯入後顯示正常。

用Google Sheets正確匯入CSV

  1. 開啟Google Sheets,點選「檔案」→「匯入」。
  2. 上傳CSV檔案,於「字元編碼」選擇「自動偵測」或「UTF-8」。
  3. 預覽資料,確認無亂碼後匯入。

注意

  • 若仍亂碼,可嘗試先用Notepad++轉存UTF-8再匯入。

用命令列工具(如iconv)轉換編碼

範例

將Big5編碼的CSV轉為UTF-8:

iconv -f big5 -t utf-8 input.csv -o output.csv
  • -f:來源編碼
  • -t:目標編碼

批次處理

可寫shell script自動轉換多個檔案,適合大量資料處理。

用程式語言(如Python)批次處理

Python範例

import glob

for file in glob.glob('*.csv'):
    with open(file, 'r', encoding='big5') as f:
        content = f.read()
    with open(f'utf8_{file}', 'w', encoding='utf-8-sig') as f:
        f.write(content)
  • utf-8-sig:含BOM,適合Excel辨識。

實用情境

  • 系統自動產生大量Big5 CSV,需批次轉為UTF-8供跨平台使用。

預防與最佳實踐

統一使用標準編碼

  • 建議所有系統、團隊、供應商統一採用UTF-8,減少跨平台亂碼風險。
  • 若需與台灣本地舊系統對接,Big5仍可考慮,但應標註清楚。

提供檔案編碼資訊

  • 傳遞CSV時,於檔名、郵件、說明文件註明「本檔案為UTF-8編碼」。
  • 系統自動產生檔案時,可於檔案開頭加註說明列。

BOM的使用建議

  • 若主要用於Excel(Windows),建議加上BOM(即UTF-8 with BOM)。
  • 若需供程式或Linux系統讀取,建議不加BOM,避免資料欄位多出奇怪符號。
  • Google Sheets對BOM較不敏感,可自動辨識。

常見FAQ與疑難排解

Excel打開是亂碼怎麼辦?

  • 不要直接雙擊開啟,請用「資料」→「自文字/CSV」匯入,並選擇正確編碼。
  • 若原始檔案為Big5,請先轉存為UTF-8再匯入。

如何判斷CSV檔案編碼?

  • 用Notepad++或file指令檢查。
  • 若開啟後出現亂碼,嘗試不同編碼另存新檔。

Google Sheets匯入亂碼怎麼解?

  • 匯入時選擇「UTF-8」或「自動偵測」。
  • 若仍亂碼,請先用Notepad++轉存UTF-8。

BOM該不該加?

  • 若主要用於Excel,建議加BOM。
  • 若需供程式或跨平台使用,建議不加BOM。

結論與推薦工具

重點整理與行動建議

  • CSV亂碼多因編碼不一致,建議統一使用UTF-8。
  • 開啟CSV時,請用正確方式匯入(如Excel的「資料」匯入)。
  • 需大量自動轉換時,可用Notepad++、iconv或Python腳本處理。
  • 傳遞檔案時,請標註編碼資訊,並依需求決定是否加BOM。

專案管理與協作工具推薦

在團隊協作、資料交換或專案管理中,若需大量處理CSV、Excel等檔案,建議善用現代化的協作平台。例如 [Monday.com]、[ClickUp]、[Notion] 等工具,能有效整合資料流、減少手動轉檔錯誤,提升團隊效率。若需進行PDF、簽署等流程,亦可考慮 [pdfFiller]、[SignNow] 等工具,讓文件處理更順暢。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

✨ 讓專案管理變簡單,團隊更強大!

在專案推進的每一步,效率就是競爭力。monday.com 整合進度追蹤、團隊協作與資源分配,讓你隨時掌握全局、快速解決問題。
全球18萬家專業團隊已經採用,你還在等什麼?