http://in355hz.iteye.com/blog/1860787
看到的介绍的比较好的一篇文章
总结起来,关于中文的解决方法有2:
一种:
# 使得 sys.getdefaultencoding() 的值为 'utf-8' reload(sys) # reload 才能调用 setdefaultencoding 方法 sys.setdefaultencoding('utf-8') # 设置 'utf-8' # 这个是 str 的字符串 s = '关关雎鸠' # 输出 str 字符串, OK print s # 关关雎鸠
第二种:
永远在代码里的中文字符串前写上 u
# -*- coding: utf-8 -*- # file: example3.py import sys # 这个是 str 的字符串 s = '关关雎鸠' # 这个是 unicode 的字符串 u = u'关关雎鸠' # 使得 sys.getdefaultencoding() 的值为 'utf-8' reload(sys) # reload 才能调用 setdefaultencoding 方法 sys.setdefaultencoding('utf-8') # 设置 'utf-8' # 没问题 s + u # u'\u5173\u5173\u96ce\u9e20\u5173\u5173\u96ce\u9e20' # 同样没问题 "中文:%s" % u # u'\u4e2d\u6587\uff1a\u5173\u5173\u96ce\u9e20' # 还是没问题 u"中文:%s" % s # u'\u4e2d\u6587\uff1a\u5173\u5173\u96ce\u9e20'