解決 ChatGPT 資料分析產生的圖表中文亂碼

ChatGPT 資料分析產生的圖表,中文字顯示成亂碼。 可以透過上傳支援中文的字體 TTF 檔案解決。

Photo by Nirzar Pangarkar on StockSnap

問題狀況

上傳試算表檔案到 ChatGPT,機器人資料分析後產生圖表內的中文字亂碼。(如下圖)

解決方式


1. 上傳支援中文的字體檔 (TTF,英文全稱是 TrueType Font file)

可前往 Noto Sans Traditional Chinese - Google Fonts 下載字體檔案。我試過也可以使用「微軟正黑體」 TTF 檔。

2. 要求機器人依據上傳的字體檔案,重新產生圖表。提示 (prompt) 範例:
中文變成亂碼,請改用這個字體檔,重新產生圖表

3. 修正後的圖:

可以看到原本圖表標籤的中文恢復正常,而不是像豆腐方框字的亂碼。

4. 有時候會遇到如果對談時間比較久,即使上傳 TTF 字體檔案也無法順利顯示圖表,則建議重啟新的對話。

問題詳細原因

展開 ChatGPT 程式碼,可以看到使用 Python 視覺化的 Matplotlib 函示庫。搜尋網路資料,也會發現有同樣中文字顯示成亂碼的問題


但是同樣都是字體檔,如果不是上傳 TTF 檔案,而是另一種 OTF 檔案 (英文全稱 OpenType) 卻會出錯,無法解決中文字亂碼。Matplotlib 網站提到

Matplotlib 預設使用 FreeType 渲染引擎來處理 TrueType 字體渲染,所以 TTF 字體在跨平台有比較好的相容性。而 Matplotlib 對 OTF 字體的支援較為不足。
實體測試上傳 OTF 檔案到 ChatGPT 也經常遇到錯誤,建議直接使用 TTF 檔案。

參考資料

留言