python乱码问题

发布于 2021-11-11 20:05:30 字数 429 浏览 862 评论 5

一个奇怪的乱码问题,我的python版本是2.7,源文件保存的编码是utf-8

代码如下:

# -*- coding: utf-8 -*-
a = '雨'
print a
a += '润'
print a
a+= '食'
print a
a += '品'
print a

上面的代码运行后输出如下

>>> 
雨
闆ㄦ鼎
雨润食
闆ㄦ鼎椋熷搧

可以看出a只有一个字符时输出正常非乱码,而有两个字符时会变成乱码,有三个字符时又不乱码了,四个字符时又出现了乱码问题,为什么呀?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

输什么也不输骨气 2021-11-18 12:10:48

非常感谢楼上各位的帮助。肯定是编码问题,但是为啥第1,3行输出的是正确的,而第2,4行输出是错误的。另外又经过测试如果将源文件的编码设置为cp936就完全没有了乱码的问题

# -*- coding: cp936 -*-
a = '雨'
print a
a += '润'
print a
a += '食'
print a
a += '品'
print a

另外我确实是在windows下使用IDLE做的测试

离去的眼神 2021-11-18 04:47:56

看样子你是在Windows下用的IDLE

刚测试过,Win7下,

CMD编码GBK,4行全乱码

IDLE下,2/4行乱码

实际上就是显示终端不支持UTF-8

C:> a.py > 1.txt

C:> notepad 1.txt

将输出导入文本文件查看完全没问题

路还长,别太狂 2021-11-17 05:05:48

我也是这个版本(2.7.2),也没有问题

做个少女永远怀春 2021-11-16 19:23:08

亲测木有这个问题 Python 2.7.2

眼眸里的那抹悲凉 2021-11-15 12:45:15

控制台的编码问题吧

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文