我在notepad++上编写这样一个程序

南燕北灰 发布于 2015/12/27 23:38
阅读 646
收藏 0

我在notepad++上编写这样一个程序

# -*- coding:utf:8 -*-
print "世界"
print "helloagain"

在win7系统的powershell中运行,为什么输出的第一句中文是乱码?我已经在notepad中设置编码为utf8(无BOM)了

难道必须要在中文"世界"前面加U才可以吗?

加载中
0
pleatu
pleatu
print "世界".decode('utf-8').encode('gbk')

源码文件的编码格式为utf-8,但是window的本地默认编码是gbk

b
brightsun
notepad++中选菜单"格式--转为ansi格式文件"
b
brightsun
你这个文件也要转换成gbk
pleatu
pleatu
回复 @南燕北灰 : 我这边试了下,没有乱码,你直接编辑py文件,不在notepad上面编辑呢?
南燕北灰
南燕北灰
@pleatu 我在开头 加了# -*- coding:gbk -*- 但是还是乱码
pleatu
pleatu
回复 @南燕北灰 : 可以把你这个脚本放在linux环境运行试试
下一页
0
刘新全
刘新全

你在notepad++中设置的是notepad++的识别环境,不是dos的环境。

你试一下printf,我的可以

南燕北灰
南燕北灰
直接在PowerShell中写的话可以打出汉字,只是我在notepad中写的脚本在PowerShell中运行打出的是乱码,我是想要一种解决这个问题的答案。。。。
0
ilyydy
ilyydy

段首加 # -*- coding:utf:8 -*-

然后notepad++中设置用ANSI格式编码。

mmarzl
mmarzl
这个方法可行,可以在控制台上打印出‘世界’
ilyydy
ilyydy
回复 @南燕北灰 : 用# -*- coding:gbk -*-也可以。
ilyydy
ilyydy
回复 @南燕北灰 : 上面打错了,用# -*- coding:utf-8 -*-
南燕北灰
南燕北灰
试过了 还是不行
0
b
brightsun
windows命令行控制台是以gbk显示的,所以你要把最终结果转换成gbk
返回顶部
顶部