博客园  :: 首页  :: 新随笔  :: 管理

python中文编码处理

Posted on 2014-03-11 20:51  Andy2011  阅读(228)  评论(0编辑  收藏  举报

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'