[英]Encoding difference in Eclipse and Windows console
我有一個Python腳本,可以在Eclipse Console(運行配置)中完美運行。 當我嘗試在Windows 7控制台上啟動此腳本時,出現編碼錯誤:
UnicodeEncodeError: 'ascii' codec can't encode character u'\xc9' in position 0: ordinal not in range(128)
我將Windows控制台的代碼頁更改為使用與Eclipse中相同的代碼頁(“窗口”->“參考”->“常規”->“工作空間”->“文本文件編碼”):
chcp 1252
在腳本的開頭,我添加:
# -*- coding: cp1252 -*-
但這並沒有改變。
它可以在Eclipse控制台上運行,因此我不想為Windows控制台解碼/編碼我的所有字符串。
您是否有任何想法或建議來解決該問題?
您可以嘗試將eclipse和Windows cmd行的編碼都設置為Utf-8,看看是否可行,除非您絕對需要cp1252編碼。
問題在於Python將期望您的8位字符串僅包含ASCII,而不包含Unicode。 u'\\xc9
是Unicode字符。 也許Eclipse比Windows 7控制台更友好。 獲取字符時,應使用unicode
命令將字符轉換為Unicode:
value = unicode(value, "utf-8")
有關更多信息,請參見本文 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.