在Notepad ++中使用Python在Windows命令提示符中正确显示瑞典语字符

时间:2010-04-17 22:15:04

标签: python cmd command notepad++

标题解释得很好。当我按 F8 时,我已经设置了Notepad ++以在命令提示符中打开Python脚本,但是当在CMD中打开时,所有瑞典字符看起来都很混乱,但在IDLE中完全没问题。

这个简单的示例代码:

#!/usr/bin/env python
#-*- coding: UTF-8 -*-
print "åäö"

看起来像this

正如您所看到的,我用于在cmd下面打开Python的批处理文件的输出正确显示了字符,但没有显示上面的Python脚本。我该如何解决?我只是想正确地展示字符,我不一定也使用UTF-8。

我使用此method在cmd中打开文件。

更新:已解决。在批处理文件的顶部添加了“chcp 1252”行,然后在其下方添加了一条cls行,以删除有关其使用的字符编码的消息。然后我在python脚本中使用了“# - - coding:cp1252 - - ”并将cmd中的字体更改为Lucida Console。这可以通过单击cmd窗口右上角的cmd图标完成,然后进入属性。

4 个答案:

答案 0 :(得分:4)

您打印出UTF-8字节,但您的控制台未设置为UTF-8。将Unicode写为UTF-16,或将控制台代码页设置为UTF-8。

print u"åäö"

答案 1 :(得分:0)

Python通常会将Unicode字符串转换为Windows控制台的编码。请注意,要正确使用Unicode,您需要Unicode字符串(例如,u'string'),并且需要声明使用coding:行保存文件的编码。

例如,这个(在我的系统上以UTF-8保存为x.py):

# coding: utf8
print u"åäö"

产生这个:

C:\>chcp
Active code page: 437

C:\>x
åäö

您只能成功打印活动代码页支持的字符。

答案 2 :(得分:0)

我遇到了同样的问题,我使用了cp1252

  

C:> chcp 1252

这使得控制台使用了1252编码,然后我运行了我的程序,显示了瑞典字符的怜悯。

答案 3 :(得分:0)

将编码设置为:# -*- coding: ISO-8859-1 -*-

这对我有用,我尝试了很多不同的解决方案,以使它与Visual Studio IDE for Python一起使用。

# -*- coding: ISO-8859-1 -*-
print ("åäö")