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

5 投票
3 回答
5435 浏览
提问于 2025-04-15 23:51

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

我该如何在以下环境中启用Unicode打印语句:

  1. eclipse中的PyDev控制台
  2. Idle Python图形界面

打印语句示例:

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

输出结果是:

ùìåí òåìí

3 个回答

0

PYTHONIOENCODING 是一个很好的通用方法,可以解决这个问题。不过,在 Eclipse 中设置控制台的语言环境的方法如下:

设置 运行配置 的编码:

  1. 编辑 运行配置
  2. 点击 "常规" 标签
  3. 将编码设置为 "UTF-8"
4

我在使用Eclipse Luna 4.0.4、Python 3.4.1和PyDev 3.6.0的时候,遇到了同样的问题。我尝试了上面提到的步骤,还有其他一些方法,但都没有解决问题。

最后我找到了解决办法。在Eclipse中,进入首选项 —> PyDev —> 解释器 —> Python解释器,在环境选项卡里,我添加了一个环境变量PYTHONIOENCODING,并把它的值设置为utf-8

这样就解决了我的问题……

11

关于在Eclipse中支持Unicode控制台:

  1. 在Eclipse的安装目录下找到eclipse.ini文件,里面加上-Dfile.encoding=UTF-8这一行。
  2. 在Eclipse中,点击Run\Run Configurations\Python Run\configuration\Common\,确保选择了UTF-8。
  3. 在Eclipse中,去Window\Preferences\General\Workspace\Text file encoding\,确保选择了UTF-8。
  4. [python安装路径]\Lib\site.py文件中,把encoding = "ascii"改成encoding = "utf-8"
  5. 确保在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

撰写回答