为了账号安全,请及时绑定邮箱和手机立即绑定

windows下的cmd下运行.py文件,结果若有中问现实乱码,如何解决?

https://img1.sycdn.imooc.com//5ad45ba80001494304780269.jpg

如上图,执行test1.py文件,包含中文的结果现实乱码;如果在执行之前先将cmd切换为utf-8(chcp 65001),执行结果提示:

D:\program for wql\project\test\test1>python test1.py

Traceback (most recent call last):

  File "test1.py", line 2, in <module>

    print"你好,python~"

IOError: [Errno 22] Invalid argument


正在回答

2 回答

这个交互式编码是正常的,是调用py文件在window下执行结果显示乱码呢?,看一下我的运行方式,是在Windows下调用.py文件去执行,不是交互式编码执行

0 回复 有任何疑惑可以回复我~

python2.x 脚本加上 # -*- coding: UTF-8 -*- 或者 #coding=utf-8 后windows 命令提示符下输出中文字符串还会出现乱码。

解决方法需要先使用 decode("utf-8") 转换成 utf-8 编码,然后使用 encode("gbk") 转换成 gbk 编码,才能在 windows 命令提示符下正常输出中文。

原因是 windows 命令提示符的显示编码为 gbk 编码。

例如:

>>> # -*- coding: UTF-8 -*-

>>> s="你好,python~ "

>>> print s.decode("utf-8").encode("gbk")


或者

print u"你好,python~"

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
初识Python
  • 参与学习       758620    人
  • 解答问题       8667    个

学python入门视频教程,让你快速入门并能编写简单的Python程序

进入课程

windows下的cmd下运行.py文件,结果若有中问现实乱码,如何解决?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信