windows cmd 下 中文乱码chcp 65001 和unknown encoding cp65001

现象描述:
在windows 下运行python程序(python2)时,输出的中文出错了。输出的方式是直接使用
  1. print "中文"
请先 登录 后评论

9 个回答

泡泡龙


现象描述:
在windows 下运行python程序(python2)时,输出的中文出错了。输出的方式是直接使用
  1. print "中文"
复制代码
这种形式,未进行其他设置。

搜索到的一种方法,也是曾经确实有效的方法:chcp 65001 ,然后修改字体。

但是本次操作的时候,在如上修改后,出现了如下错误:

  1. print 'hello'

  2. LookupError: unknown encoding: cp65001
复制代码
这种现象的解决办法是:chcp 936 。可是如果回到936,第一个问题又来了。

想问的(度娘搜不到结果):
1- 这种问题的原因是我的windows下缺少什么东西么?比如65001的某个字符集什么的。

2- 如果这个问题可以解决,我该如何去解决,比如,我可以下载一个字符集安装这类的?

谢谢大家,以及,万能的版主大大们

添加一个偶然发现的现象:
当我用python3.X的使用,65001 又是可行的,字母,中文都能输出。
请先 登录 后评论
松果小筑
研究python3吧,python2到2019年就不维护了,python3的兼容性更好
请先 登录 后评论
黄文庆
2的默认编码是ascii,3的默认编码是utf8。
请先 登录 后评论
千四儿

研究python3吧,python2到2019年就不维护了,python3的兼容性更好

我知道2在19年将不在维护。但现在工作里面用的是2。显示乱码不好调试。
请先 登录 后评论
乡下女孑

2的默认编码是ascii,3的默认编码是utf8。

这个我知道了,谢谢~
请先 登录 后评论
踏浪情歌

研究python3吧,python2到2019年就不维护了,python3的兼容性更好

意思就是,在2的背景下,我想在windows下cmd里面改作utf8中文不乱码,目前是没有操作的,对么?
请先 登录 后评论
舵手
python2的设置默认编码
请先 登录 后评论
白沐沐

肯定有解决办法,我没有windows的Python2的环境,试试print u'中文'?
linux和mac直接print '中文'都没有 ...

可行。
我该如何去理解,输出时,各种编码的转换?我希望我能理解它,因为之前尝试记住它,但是,并没有理解的状态下,记住不牢。
请先 登录 后评论
黄静丶

python2的设置默认编码

这里setdefaultencoding的方法,之前看到别人用过,确实能在输出的时候,避免很多问题。这个改变的是什么?它在str输出的过程中,改变了哪个步骤时的默认值?可以给我讲讲么,我有点看不懂
请先 登录 后评论
  • 9 关注
  • 0 收藏,442 浏览
  • 泡泡龙 提出于 2021-02-28 12:20

相似问题