最新消息:20210917 已从crifan.com换到crifan.org

【已解决】UnicodeEncodeError: ‘ascii’ codec can’t encode characters in position 0-15: ordinal not in range(128)

StringEncoding crifan 10548浏览 0评论

【已解决】UnicodeEncodeError: ‘ascii’ codec can’t encode characters in position 0-15: ordinal not in range(128)

【背景】

在python脚本中执行:

i[‘title’]=temp.string.strip().decode(“gbk”)

即将temp.string.strip()所得到的字符串进行gbk解码,结果出现上述错误:

UnicodeEncodeError: ‘ascii’ codec can’t encode characters in position 0-15: ordinal not in range(128)

 

【解决过程】

最后是借鉴这里:

【转】Python 设置系统默认编码

http://againinput4.blog.163.com/blog/static/17279949120111110022169/

而解决的。

即,添加了:

import sys;
reload(sys);

sys.setdefaultencoding(‘utf8’);

 

然后就可以正常执行了

 


【后记 2012-11-29】

后来,总结了,更加全面的,问题的原因,以及更好的解决方案:

【总结】Python中常见字符编码和解码方面的错误及其解决办法

转载请注明:在路上 » 【已解决】UnicodeEncodeError: ‘ascii’ codec can’t encode characters in position 0-15: ordinal not in range(128)

与本文相关的文章

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
100 queries in 0.166 seconds, using 23.43MB memory