python:有关于python的中文显示问题,有大神知道吗?

图片描述

如上图,我刚下的python2.7版本,然后为什么在sublime中运行不出结果,但是在命令提示符cmd里面打开就可以正常编译正常显示中文,
图片描述
然后我修改了代码,把u去掉了,直接:

# -*- coding:utf-8 -*-
print r'''hello, world!
你好,世界!'''

然后在sublime里面终于运行成功了,
图片描述
但是在CMD里打开后中文又变成乱码了;

这是什么问题?那我到底要不要加u呢?
是以电脑的命令提示符里为准还是sublime编译的为准呢?他们正好相反啊

阅读 4.7k
3 个回答

因为你是windows系统,首先你需要在文件头部定义文件的编码

# coding: utf-8

其次你需要导入sys这个模块并设置默认的编码

import sys
reload(sys)
sys.setdefaultencoding('utf8')

然后使用unicode声明字符串

print u'hello'

u'' 和 r'' 分别指得是unicode编码的字符串和python原生的字符串.
你可以先用sys.getdefaultencoding()在sublime中看看系统默认编码方式,再结合上面两个字符串前缀,自己试着分析一下试试。

locale设置啥,sublime里面编码设置的是啥

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进