Python 编码问题:‘ascii‘ codec can‘t encode characters in position 的解决方案(中文乱码终极解决方案)
生活随笔
收集整理的這篇文章主要介紹了
Python 编码问题:‘ascii‘ codec can‘t encode characters in position 的解决方案(中文乱码终极解决方案)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
有2種方法設(shè)置python的默認(rèn)編碼:
方法一:一個解決的方案在程序中加入以下代碼:
Python代碼????
import?sys?? reload(sys)?? sys.setdefaultencoding('utf8')???方法二:一個方案是在python的Lib\site-packages文件夾下新建一個sitecustomize.py,內(nèi)容為:
我的python2路徑:/usr/lib64/python2.7/site-packages/sitecustomize.py
Python代碼??
#?encoding=utf8?? import?sys??reload(sys)?? sys.setdefaultencoding('utf8')??? ? ? ? 此時重啟python解釋器,執(zhí)行sys.getdefaultencoding(),發(fā)現(xiàn)編碼已經(jīng)被設(shè)置為utf8的了,多次重啟之后,效果相同,這是因?yàn)橄到y(tǒng)在python啟動的時候,自行調(diào)用該文件,設(shè)置系統(tǒng)的默認(rèn)編碼,而不需要每次都手動的加上解決代碼,屬于一勞永逸的解決方法。
? ? ? ? 另外有一種解決方案是在程序中所有涉及到編碼的地方,強(qiáng)制編碼為utf8,即添加代碼encode("utf8"),這種方法并不推薦使用,因?yàn)橐坏┥賹懸粋€地方,將會導(dǎo)致大量的錯誤報(bào)告,我曾經(jīng)遇到這種情況,錯誤日志壓縮之后尚有70多K,全都是這一個問題,讓人有很崩潰的感覺。
Windows環(huán)境路徑修改
在python的Lib\site-packages文件夾下新建一個sitecustomize.py
#encoding=utf8 import sysreload(sys) sys.setdefaultencoding("utf8")?
新人創(chuàng)作打卡挑戰(zhàn)賽發(fā)博客就能抽獎!定制產(chǎn)品紅包拿不停!總結(jié)
以上是生活随笔為你收集整理的Python 编码问题:‘ascii‘ codec can‘t encode characters in position 的解决方案(中文乱码终极解决方案)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python内置数据结构--列表
- 下一篇: poj2393 其它贪心 挑战程序设计竞