`
splayx
  • 浏览: 82835 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

python2.7打印字符串时出现UnicodeEncodeError

阅读更多

python在打印字符串的时候会把目标串转成unicode编码,

然后在转换成平台指定的编码例如utf-8,ascii等格式。不同版本的python有默认encode方式。

python3.2:

print(sys.getdefaultencoding())
utf-8 

python2.7:
print sys.getdefaultencoding()
ascii

如果encode的格式跟字符串原先的格式不同(或者说不兼容)就会出错。

UnicodeEncodeError: 'ascii' codec can't encode characters in position xx-yy: ordinal not in range(128)

由于打印的字符串时通过http请求的页面,其编码方式取决于服务器文件的编码。

所以在不指定编码方式的情况下,使用默认的方式对unicode进行编码,我用的是python2.7的版本,

运行时会去转成默认的ascii,导致上面的异常。

 

解决方法也很简单:

import sys
reload(sys)
sys.setdefaultencoding('utf-8')

加上这几行就OK了。

或者直接print s.encode('utf-8')也OK

分享到:
评论

相关推荐

    解决python2.7用pip安装包时出现错误的问题

    最近在使用pip安装包的的时候出现下面错误 UnicodeEncodeError: 'ascii' codec can't encode character u'\u258f' 查询资料后发现原因是pip安装python包会加载用户目录,用户目录恰好是中文的,ascii不能编码 ...

    python中open文本写入字符串时编码报错问题

    原因分析要么是open文件的编码和字符串内容不一致,要么是字符串中存在无法编码的字符。 解决方法: 用utf-8编码格式open文件,如下: with open(file_path,'w+',encoding='utf-8') 忽略该错误,在open()中加入errors=...

    Python字符串的encode与decode研究心得乱码问题解决方法

    字符串在Python内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码(decode)成unicode,再从unicode编码(encode)成另一种编码。  decode的作用是将...

    彻底搞懂Python字符编码

    不论你是有着多年经验的 Python 老司机还是刚入门 Python 不久,你一定遇到过UnicodeEncodeError、UnicodeDecodeError 错误,每当遇到错误我们就拿着 encode、decode 函数翻来覆去的转换,有时试着试着问题就解决了...

    解决python写入带有中文的字符到文件错误的问题

    在python写脚本过程中需要将带有中文的字符串内容写入文件,出现了报错的现象。 —————————- UnicodeEncodeError: ‘ascii’ codec can’t encode characters in position 0-1: ordinal not in range(128) ...

    Python UnicodeEncodeError: ‘gbk’ codec can’t encode character 解决方法

    使用Python写文件的时候,或者将网络数据流写入到本地文件的时候,大部分情况下会遇到:UnicodeEncodeError: ‘gbk’ codec can’t encode character ‘\xa0’ in position … 这个问题。 网络上有很多类似的文件...

    Python发起请求提示UnicodeEncodeError错误代码解决方法

    主要介绍了Python发起请求提示UnicodeEncodeError错误代码解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

    Python爬虫初学:报错1:UnicodeEncodeError: ‘gbk’ codec can’t encode character ‘\xbb’……

    大家好,我是庞老板咩,一名浙江大学动力工程20级推免生,最近开始自学Python。这是我的第一篇博客,很高兴可以在CSDN这个平台和大家分享交流^ ^ 首先,这是一段我初学爬虫时的代码: import urllib.request def ...

    Python UnicodeEncodeError: 'gbk' codec can't encode character 解决方法

    主要介绍了Python UnicodeEncodeError: 'gbk' codec can't encode character 解决方法,需要的朋友可以参考下

    Python中出现UnicodeEncodeError: ‘gbk’ codec can’t encode character ‘\u2022’

    Python中打开一个文件夹编写,file1 = open(‘E:\数据挖掘报告.txt’, ‘a’) 在写入的过程中出现了报错: UnicodeEncodeError: ‘gbk’ codec can’t encode character ‘\u2022’ in position 7: illegal ...

    Python打印不合法的文件名

    你的程序获取了一个目录中的文件名列表,但是当它试着去打印文件名的时候程序崩溃, 出现了 UnicodeEncodeError 异常和一条奇怪的消息—— surrogates not allowed 。 解决方案 当打印未知的文件名时,使用下面的...

    Python 爬虫之超链接 url中含有中文出错及解决办法

    这个错误是由于超链接中含有中文引起的,超链接默认是用ascii编码的,所以不能直接出现中文,若要出现中文, 解决方法如下: import urllib from urllib.request import urlopen link=...

    python文件操作(二) 字符编码 函数入门

    要将文本写入文件,你在调运open()时需要提供一个参数,告诉python你要写入打开的文件了。 ‘w’ 创建一个新文件,把旧文件覆盖掉 f1 = open('test2','w',) f1.write('this is a test from old ......') f1 = o

    python-3.4.0

    Issue #21134: Fix segfault when str is called on an uninitialized UnicodeEncodeError, UnicodeDecodeError, or UnicodeTranslateError object. Issue #19537: Fix PyUnicode_DATA() alignment under m68k. ...

    python2.78+pyscripter2.53 附乱码解决方案

    python2.78 32位 pyscripter2.53 32位 附带Pyscripter报错的解决方法: 第一次打开就出错:UnicodeEncodeError: 'ascii' codec can't encode characters in position 1-2

    PyScripter

    python 集成开发编码软件 1、先执行Python2.7.3.msi安装,安装完成可在IDLE里输Python语句了 2、如需要使用PyScripter 集成开发环境,请安装PyScripter-v2.5.3 内含: 1)Python2.7.3.msi安装包 2)PyScripter-...

    解决Python print 输出文本显示 gbk 编码错误问题

    前阵子想爬点东西,结果一直提示错误UnicodeEncodeError: ‘gbk’ codec can’t encode character ‘\xa0′ in position,在网上一查,发现是 Windows 的控制台的问题。控制台的编码是 GBK,Python 是 UTF-8,造成了...

    Python输出汉字字库及将文字转换为图片的方法

    用python输出汉字字库 问题1:假设我们知道汉字编码范围是0x4E00到0x9FA5,怎么从十六进制的编码转成人类可读的字呢? 问题2:怎么把unicode编码的字写入文件呢,如果直接用open()的话,会提示UnicodeEncodeError: ...

Global site tag (gtag.js) - Google Analytics