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
相关推荐
最近在使用pip安装包的的时候出现下面错误 UnicodeEncodeError: 'ascii' codec can't encode character u'\u258f' 查询资料后发现原因是pip安装python包会加载用户目录,用户目录恰好是中文的,ascii不能编码 ...
原因分析要么是open文件的编码和字符串内容不一致,要么是字符串中存在无法编码的字符。 解决方法: 用utf-8编码格式open文件,如下: with open(file_path,'w+',encoding='utf-8') 忽略该错误,在open()中加入errors=...
字符串在Python内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码(decode)成unicode,再从unicode编码(encode)成另一种编码。 decode的作用是将...
不论你是有着多年经验的 Python 老司机还是刚入门 Python 不久,你一定遇到过UnicodeEncodeError、UnicodeDecodeError 错误,每当遇到错误我们就拿着 encode、decode 函数翻来覆去的转换,有时试着试着问题就解决了...
在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 ‘\xa0’ in position … 这个问题。 网络上有很多类似的文件...
主要介绍了Python发起请求提示UnicodeEncodeError错误代码解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
大家好,我是庞老板咩,一名浙江大学动力工程20级推免生,最近开始自学Python。这是我的第一篇博客,很高兴可以在CSDN这个平台和大家分享交流^ ^ 首先,这是一段我初学爬虫时的代码: import urllib.request def ...
主要介绍了Python UnicodeEncodeError: 'gbk' codec can't encode character 解决方法,需要的朋友可以参考下
Python中打开一个文件夹编写,file1 = open(‘E:\数据挖掘报告.txt’, ‘a’) 在写入的过程中出现了报错: UnicodeEncodeError: ‘gbk’ codec can’t encode character ‘\u2022’ in position 7: illegal ...
你的程序获取了一个目录中的文件名列表,但是当它试着去打印文件名的时候程序崩溃, 出现了 UnicodeEncodeError 异常和一条奇怪的消息—— surrogates not allowed 。 解决方案 当打印未知的文件名时,使用下面的...
这个错误是由于超链接中含有中文引起的,超链接默认是用ascii编码的,所以不能直接出现中文,若要出现中文, 解决方法如下: import urllib from urllib.request import urlopen link=...
要将文本写入文件,你在调运open()时需要提供一个参数,告诉python你要写入打开的文件了。 ‘w’ 创建一个新文件,把旧文件覆盖掉 f1 = open('test2','w',) f1.write('this is a test from old ......') f1 = o
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 32位 pyscripter2.53 32位 附带Pyscripter报错的解决方法: 第一次打开就出错:UnicodeEncodeError: 'ascii' codec can't encode characters in position 1-2
python 集成开发编码软件 1、先执行Python2.7.3.msi安装,安装完成可在IDLE里输Python语句了 2、如需要使用PyScripter 集成开发环境,请安装PyScripter-v2.5.3 内含: 1)Python2.7.3.msi安装包 2)PyScripter-...
前阵子想爬点东西,结果一直提示错误UnicodeEncodeError: ‘gbk’ codec can’t encode character ‘\xa0′ in position,在网上一查,发现是 Windows 的控制台的问题。控制台的编码是 GBK,Python 是 UTF-8,造成了...
用python输出汉字字库 问题1:假设我们知道汉字编码范围是0x4E00到0x9FA5,怎么从十六进制的编码转成人类可读的字呢? 问题2:怎么把unicode编码的字写入文件呢,如果直接用open()的话,会提示UnicodeEncodeError: ...