python2.7 中的编码问题,关于中文的显示

2016-02-25 15:03:45 +08:00
 BruceYuan
我在 python shell 中创建的文件为:

# -*- coding: utf-8 -*-
print '你好'

然后 run module,可以成功显示为:
>>>你好

但是我在 pycharm 中如果写同样的东西,结果却是乱码.
假如我把 print '你好' 改成 print u'你好' 就能正常显示,请问一下这是怎么回事啊?
3710 次点击
所在节点    Python
11 条回复
Daniel65536
2016-02-25 15:17:40 +08:00
BruceYuan
2016-02-25 15:52:27 +08:00
@Daniel65536 感谢推荐,我好好看看
WangYanjie
2016-02-25 16:28:21 +08:00
没用过 pycharm ,不过可以猜猜,方便的话贴一下乱码到底是什么吧!
clino
2016-02-25 16:36:20 +08:00
把文件拖进 chrome 然后切换不同的编码浏览你就明白了
pzzrudlf
2016-02-25 16:41:32 +08:00
为什么要显示中文?全部英文就可以了。
BruceYuan
2016-02-25 21:13:59 +08:00
@WangYanjie 就是一些你不认识的字(个数未知)
BruceYuan
2016-02-25 21:18:16 +08:00
@clino 编码是个复杂的问题,现在发现文件也有默认的编码格式
BruceYuan
2016-02-25 21:18:52 +08:00
@pzzrudlf 有的时候爬取中文资料呢?
VYSE
2016-02-25 21:51:47 +08:00
# -*- coding: utf-8 -*- 只是告诉 PYTHON 你的代码是用 UTF-8 编码的而已,代码用其他编码只能读成乱码

Pycharm file encoding 配置里可以 project or 文件的编码
BruceYuan
2016-02-25 22:23:56 +08:00
@VYSE 感谢
wentian
2016-02-25 22:24:44 +08:00
Python2.x 的中文问题无法理解就只能是初级 Python 程序员
贴一篇博客助楼主一下
https://segmentfault.com/a/1190000004018799

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/259063

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX