有一些Java编程经验,我开始学习Python。很快让我震惊的是,与Java相比,在Python中使用Unicode字符存在大量问题。只要文件编码和编写代码的程序本身都是UTF-8,用Java就可以…好吧,只是工作而已。在Python中不是这样。我更喜欢在NetBeans中编码,但如果使用记事本,也会发生同样的事情。
链接是Java和Python的两个截图,显示了问题的对比。怎么了?装置有问题吗?代码本身?NetBeans的Python支持?也许是Python对Unicode字符串的整体兼容性?
您的图像显示您正在使用Python 3.4.3,这应该不会导致unicode问题。当你使用记事本时,你是如何运行它的?
试试直接调用python代码,让我知道发生了什么。你甚至不需要# -*- coding: utf-8 -*-
位在顶部。
如果你不能直接调用它,看看你是否可以直接在python中运行那一行。(Ctrl+R,打开终端,输入cmd
,然后回车,然后输入python
,进入终端)
如果它为你工作,那么它可能是NetBeans设置问题。
通常推荐给python程序员的IDE是Spyder,它非常适合科学计算。其他人在Eclipse或PyCharm中做。
@eryksun的评论解决了这个问题。要使Python在Windows和NetBeans中完全Unicode,必须添加环境变量PYTHONIOENCODING=UTF-8
。由于Python完全支持Unicode的时间不像Java那么长,因此最终用户仍然需要做一些工作来完全启用Python中的国际化,这是可以理解的。