python乱码问题
一个奇怪的乱码问题,我的python版本是2.7,源文件保存的编码是utf-8
代码如下:
# -*- coding: utf-8 -*- a = '雨' print a a += '润' print a a+= '食' print a a += '品' print a
上面的代码运行后输出如下
>>> 雨 闆ㄦ鼎 雨润食 闆ㄦ鼎椋熷搧
可以看出a只有一个字符时输出正常非乱码,而有两个字符时会变成乱码,有三个字符时又不乱码了,四个字符时又出现了乱码问题,为什么呀?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
非常感谢楼上各位的帮助。肯定是编码问题,但是为啥第1,3行输出的是正确的,而第2,4行输出是错误的。另外又经过测试如果将源文件的编码设置为cp936就完全没有了乱码的问题
另外我确实是在windows下使用IDLE做的测试
看样子你是在Windows下用的IDLE
刚测试过,Win7下,
CMD编码GBK,4行全乱码
IDLE下,2/4行乱码
实际上就是显示终端不支持UTF-8
C:> a.py > 1.txt
C:> notepad 1.txt
将输出导入文本文件查看完全没问题
我也是这个版本(2.7.2),也没有问题
亲测木有这个问题 Python 2.7.2
控制台的编码问题吧