簡體   English   中英

Eclipse和Windows控制台中的編碼差異

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM