UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)
生活随笔
收集整理的這篇文章主要介紹了
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
在linux centos系統(tǒng)中使用python2.7.2對一個(gè)字符串解碼然后輸出,代碼如下:?
s = "哈哈哈"
print s.decode('utf-8')
?
結(jié)果報(bào)了如下的錯(cuò)誤:
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)然后在代碼前使用了:
import sysreload(sys)sys.setdefaultencoding('utf-8')?
這個(gè)編碼設(shè)置,運(yùn)行依然報(bào)如上錯(cuò)誤。
從輸出看,解碼是沒問題的,反而是編碼出了問題,應(yīng)該是當(dāng)前環(huán)境下print時(shí)候編碼出的問題
于是,將代碼改為:
print (s.decode('utf-8')).encode('gb2312')
結(jié)果沒問題了。
所以在使用 print 的時(shí)候,要注意環(huán)境所需的編碼。?
?
?
?
轉(zhuǎn)載于:https://www.cnblogs.com/vilyLei/articles/2765676.html
總結(jié)
以上是生活随笔為你收集整理的UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微软一站式示例脚本库 — IT专业人士的
- 下一篇: poj 1152