Python 2.7 ascii' codec can't encode characters

對於Pythong使用的版本是2.7版,就一定會碰到編碼上的問題

像是:
UnicodeEncodeError

UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-78: ordinal not in range(128)

會出現這個問題,是因為習慣性的編碼是ascii,會用此去編碼解碼程式中的符號以及文字,但是常用的中文不在此範圍內,也就是上述看到的128。

其實解決的方式很簡單,只要去修改其默認的編碼就好,一般來說會改成UTF-8的編碼,但是繁體中文的編碼是Big5,所以在此要將其編碼改成Big5。


因此習慣性會在一開始就加上

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


這樣後顯示的結果就不會是亂碼,而是繁體中文了。




另外, CP950的問題還蠻繁的,這篇就不仔細探討這個問題了

希望每天都記錄自己遇到的問題,之後方能略過啊!!!

留言

這個網誌中的熱門文章

Notepad++ 執行 CMD、C++、Python

關於"波羅的海驚現不明巨型物體 Baltic Sea anomaly " 不專業的判讀