在 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的主要内容,如果未能解决你的问题,请参考以下文章