在 Eclipse Pydev 控制台和 Idle 中打印 Unicode

Posted

技术标签:

【中文标题】在 Eclipse Pydev 控制台和 Idle 中打印 Unicode【英文标题】:Printing Unicode in eclipse Pydev console and in Idle 【发布时间】:2011-03-02 17:24:25 【问题描述】:

我的配置:Win7 + Python 2.6 + eclipse + PyDev

如何在以下位置启用 Unicode 打印语句:

    Eclipse 中的 PyDev 控制台 空闲 Python GUI

打印语句示例:

print(u"שלום עולם")

结果如下:

ùìåí òåìí

【问题讨论】:

【参考方案1】:

对于 eclipse unicode 控制台支持:

    -Dfile.encoding=UTF-8 添加到eclipse 安装目录中的eclipse.ini。 在 Eclipse 中 - Run\Run Configurations\Python Run\configuration\Common\ 确保选择了 UTF-8 在 Eclipse 中 - Window\Preferences\General\Workspace\Text file encoding\ 确保选择了 UTF-8 在[python install path]\Lib\site.py - 从encoding = "ascii" 更改为encoding = "utf-8" 确保您在 Eclipse 中使用支持 unicode 的字体 - Window\Preferences\Appearance\Colors and Fonts\Debug\Console font\Edit

在安装过程中,我完成了上述所有操作:

print(u"שלום עולם")         # Doesn't work
print("שלום עולם")          # Works

对于 django 模型:

print(my_model.my_field)                 # Doesn't work
print(my_model.my_field.encode('utf-8')) # Works

【讨论】:

这对我来说非常有用,为此我四处寻找。对我来说,编辑 eclipse.ini 就足够了。但所有其他设置都已设置为 UTF-8,除了 site.py 设置为 ascii。但这并没有引起我的注意。 是的,我也花了一段时间才偶然发现这一点 - 感谢您的发帖!对我来说,我只是做了第 2 步。这对我的目的来说效果很好。 控制台无法正确传达它使用的编码;设置PYTHONIOENCODING 环境变量以明确告诉Python。 第 2 步也解决了我的问题。【参考方案2】:

我在带有 Python 3.4.1 和 PyDev 3.6.0 的 Eclipse Luna 4.0.4 中拥有 same problem。我尝试了上面给出的步骤以及其他一些步骤,但无济于事。

对我有用的是,在 Eclipse 中,Preferences —> PyDev —> Interpreters —> Python Interpreter,在 Environment 选项卡中,我添加了环境变量 PYTHONIOENCODING 并将其值指定为 utf-8

这对我有用……

【讨论】:

【参考方案3】:

PYTHONIOENCODING 是解决此问题的一种非常好的通用方法。但是,Eclipse 设置其控制台语言环境的方式如下:

设置运行配置编码:

    编辑运行配置 点击“常用”标签 将编码设置为 "UTF-8"

【讨论】:

以上是关于在 Eclipse Pydev 控制台和 Idle 中打印 Unicode的主要内容,如果未能解决你的问题,请参考以下文章

python+Eclipse+pydev环境搭建

python+Eclipse+pydev环境搭建

python+Eclipse+pydev环境搭建

python+Eclipse+pydev环境搭建

python+Eclipse+pydev环境搭建

python+Eclipse+pydev环境搭建