(1)如果python文件不在文件开头指定编码,那默认为ASCII
(2)可以在文件的开头加#coding:xxx来指定文件用什么编码来处理
(3)文件保存为utf8编码,且声明了 coding:utf-8编码
# -*- coding: utf-8 -*-
print '外勤' #此语句会报错
print u"你好" #此语句不会报错,因为申明为unicode编码
(4)文件创建为ascii编码,申明为utf-8编码
#coding:utf-8
chinese = '中' #此语句不会报错,会进行内置转换
print len(chinese) #长度为二
print chinese
(5)Windows下控制台编码为cp936, 当你打印东西到控制台时Python自动做了转换。
# -*- coding: utf-8 -*-
s = u'中文'
print s
原因是打印控制台时Python会自动转换编码到sys.stdout.encoding,
(6)