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