Python 如何處理存檔編碼錯誤
有時存檔時遇到編碼錯誤但又不確定資料的編碼
這篇文章教導你如何在不知道資料編碼
但要存檔遇到 UnicodeEncodeError
錯誤時的處理方式
解法
這時候就要利用 Python3 unicode string 的優勢了
也就是說資料一定可以正確地存在 Python3 string 裡
但不一定可以被編碼成你想要的編碼,例如 🙏
這時候只要施一個小魔法處理一下就可以囉
1 | def write_file(data:str): |
這段程式碼是先把字串以 utf-16
編碼一次
關鍵是使用 surrogatepass
(or ignore
看你需求) 處理之後再解碼回來
最後寫入檔案
如果是在使用 json.dump
時遇到
可以先使用 json.dumps
組合成字串再做處理
1 | import json |
完成 ✅