Python Default Encoding Error 一次性解決方案 ( utf8 或其他 )

利用 Python 處理不同文字資料時, 特別是中文, 十之八九會遇到 encoding 的問題. 就會看到 CLI 出現討厭的 ...... ascii codec can't encode character blahblah ......

在 Python 3+ 中應該比較不會發生, 但 Python 2.7 還是經常會...

一個做法是在發生問題的 module 一開始加入:

import sys
reload(sys)
sys.setdefaultencoding('utf8')

除了這個做法之外, 也可以利用 site-packages 一次性解決這個問題.

參考 https://www.v2ex.com/t/90659

只是把預設編碼改為 utf8

在 Python27\Lib\site-packages 中加入一個 set_utf8_encoding.py ( 檔名隨意瞜 ), 內容是:

import sys
sys.setdefaultencoding('utf8')

然後重新開啟你的 Python 執行環境 ( 例如 CLI, 就重開他 ), 讓 site-packages 被重新載入就 ok ~~

一次性作法的處理比較好應對安裝 packages 時遇到這個問題, 例如安裝 Django 1.10.4 到 Python 2.7 的中文環境好像就會出現 encoding error ... 這時這樣解決就容易多了


Designed by Posicionamiento Web | Modified by seLain | Bloggerized by GosuBlogger | Blue Business Blogger