1. 程式人生 > >Python ancii 轉utf-8 失敗

Python ancii 轉utf-8 失敗

問題描述:

試圖把 .py (非 utf-8 編碼的)儲存為 utf-8 ,結果儲存之後一直還是 anscii。

with open(path_dir+'\\debug.py', encoding=sourse_encoding) as f:
    data = f.read()
with open(path_dir+'\\debug.py',mode = 'w',encoding="utf-8") as f:
    f.write(data)

 解決辦法:

嘗試了 n 多辦法後,看到了這位博主的部落格。

相關連結:https://blog.csdn.net/wjzhang5514/article/details/79637571#commentsedit

一般來說,python中‘utf-8’指的就是 utf-8 withoutBOM。 這種編碼,對應沒有特殊字元的英文字母檔案,有些編輯器裡面都會自動識別為 ANSI 格式,當然也不會有亂碼。 對於非英文字元,如果儲存為 utf-8 withoutBOM,則可以識別問 utf-8格式。 如果在編輯器檢視檔案是,選擇 ANSI 編碼,會出現亂碼情況。 比如你在俄語系統下面,如果用 ANSI 編碼開啟中文的文字,就可能出現亂碼。 如果強制講檔案儲存為 utf-8 withBOM, 則不管文本里面有沒有包含特殊字元,編輯器都自動識別為 UTF-8.

 終於發現問題所在,改用 utf-8-sig 即可。