Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1697497
  • 博文数量: 410
  • 博客积分: 9563
  • 博客等级: 中将
  • 技术积分: 4517
  • 用 户 组: 普通用户
  • 注册时间: 2010-07-03 19:59
个人简介

文章分类

全部博文(410)

文章存档

2017年(6)

2016年(1)

2015年(3)

2014年(4)

2013年(32)

2012年(45)

2011年(179)

2010年(140)

分类: Python/Ruby

2011-02-14 22:52:15

备忘一:
"UnicodeDecodeError: 'ascii' codec can't decode byte 0xe9 in position 0: ordinal not in range(128)"

看了半天html模板,都是unicode编码,没有编码问题。但是输入中文的时候就出现这样的错误了。
解决办法,在该python文件的前面加上如下几句,问题得到解决。

import sys
default_encoding = 'utf-8'
if sys.getdefaultencoding() != default_encoding:
    reload(sys)
    sys.setdefaultencoding(default_encoding)

备忘二:
s.decode('gbk', 'ignore').encode('utf-8') 

因为decode的函数原型是decode([encoding], [errors='strict']),可以用第二个参数控制错误处理的策略,默认的参数就是strict,代表遇到非法字符时抛出异常; 
如果设置为ignore,则会忽略非法字符; 
如果设置为replace,则会用?取代非法字符; 
如果设置为xmlcharrefreplace,则使用XML的字符引用。 
阅读(1141) | 评论(0) | 转发(0) |
0

上一篇:Mplayer 音量控制详解

下一篇:mplayctrl总结

给主人留下些什么吧!~~