如上图,我刚下的python2.7版本,然后为什么在sublime中运行不出结果,但是在命令提示符cmd里面打开就可以正常编译正常显示中文,
然后我修改了代码,把u去掉了,直接:
# -*- coding:utf-8 -*-
print r'''hello, world!
你好,世界!'''
然后在sublime里面终于运行成功了,
但是在CMD里打开后中文又变成乱码了;
这是什么问题?那我到底要不要加u呢?
是以电脑的命令提示符里为准还是sublime编译的为准呢?他们正好相反啊
u'' 和 r'' 分别指得是unicode编码的字符串和python原生的字符串.
你可以先用sys.getdefaultencoding()在sublime中看看系统默认编码方式,再结合上面两个字符串前缀,自己试着分析一下试试。
因为你是windows系统,首先你需要在文件头部定义文件的编码
# coding: utf-8
其次你需要导入sys这个模块并设置默认的编码
import sys
reload(sys)
sys.setdefaultencoding('utf8')
然后使用unicode声明字符串
print u'hello'
locale设置啥,sublime里面编码设置的是啥