Eclipse和Windows控制台中的编码差异

时间:2013-07-01 09:11:29

标签: python windows eclipse encoding console

我有一个Python脚本,它在Eclipse控制台(运行配置)中完全 。 当我尝试在Windows 7控制台上启动此脚本时,我遇到了编码错误:

UnicodeEncodeError: 'ascii' codec can't encode character u'\xc9' in position 0: ordinal not in range(128)

我改变了Windows控制台的代码页,使用与Eclipse中相同的代码页(Window-> Perference-> General-> Worspace->文本文件编码):

chcp 1252

在脚本的开头,我添加:

# -*- coding: cp1252 -*-

但它什么都没改变。

它适用于Eclipse控制台,因此我不想为Windows控制台解码/编码所有字符串。

你有任何想法或建议来解决这个问题吗?

2 个答案:

答案 0 :(得分:0)

您可以尝试将eclipse和windows cmd行的编码设置为Utf-8并查看是否有效,除非您绝对需要cp1252编码。

答案 1 :(得分:0)

问题是Python会期望你的8位字符串只包含ASCII,而不是Unicode。 u'\xc9是Unicode字符。也许Eclipse比Windows 7控制台更友好。您应该使用unicode命令将字符转换为Unicode:

value = unicode(value, "utf-8")

有关详情,请参阅this article