Python Solve UnicodeEncodeError 'gbk' / 'ascii' / 'utf8' codec can't encode character '\x??' in position ? 解决有关Python编码的错误

在Python中,处理中文字符一直是很令人头痛的问题,一言不合就乱码,而且引起乱码的原因也不尽相同,有时候是python本身默认的编码器设置的不对,有时候是使用的IDE的解码器不对,还有的时候是终端terminal的解码器不对,有时候同一份代码在Python2上正常运行,Python3上就不行了,反正产生乱码的原因很多,这里就列举一些博主遇到过的一些错误及其解决方案:

Error 1:

UnicodeEncodeError: ‘gbk‘ codec can‘t encode character ‘\x??‘ in position ?: illegal multibyte sequence

这个是在Win7上用Python3编译的时候遇到的,原因是win7的python3的默认编码不是utf8,我们只需要将默认编码改为utf8就能解决这个问题,参见下面的代码:

import sys, io
sys.stdout = io.TextIOWrapper(sys.stdout.buffer,encoding=‘utf8‘) # Change default encoding to utf8  

Error 2:

UnicodeDecodeError: ‘ascii‘ codec can‘t decode byte 0x?? in position: ordinal not in range(128)

这个是Mac上使用Python2编译的时候遇到的,原因是也是由于python2的默认编码不是utf8,我们只需要将默认编码改为utf8就能解决这个问题,参见下面的代码:

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

像其他的产生错误的原因,比如IDE显示乱码,或者终端Terminal显示乱码,可以通过Google搜索快速的找出解决方法,这里就不赘述了。

参考资料:

http://ajucs.com/2015/11/10/Python-character-encoding-explained.html

Python Solve UnicodeEncodeError 'gbk' / 'ascii' / 'utf8' codec can't encode character '\x??' in position ? 解决有关Python编码的错误

时间: 2024-10-13 01:01:19

Python Solve UnicodeEncodeError 'gbk' / 'ascii' / 'utf8' codec can't encode character '\x??' in position ? 解决有关Python编码的错误的相关文章

Python error: ascii’/'utf-8′ codec can’t decode byte 0xb8 in position 50: ord

字符串使用了费ascii编码的字符,也就是它代表的16进制的编码超过127. 解决这个问题可以使用下面的方法解决,其实就是设置默认的编码.python 2.x的默认编码是ascii,如果改为utf-8,就可以了 如果有中文还是不行,可以使用gbk编码方式,具体使用如下: import sys reload( sys ) sys.setdefaultencoding('gbk') Python error: ascii'/'utf-8′ codec can't decode byte 0xb8 i

python编码问题——解决python3 UnicodeEncodeError: 'gbk' codec can't encode character '\xXX' in position XX

python实现爬虫遇到编码问题: error:UnicodeEncodeError: 'gbk' codec can't encode character '\xXX' in position XX 解决办法:改变标准输出 添加代码: sys.stdout = io.TextIOWrapper(sys.stdout.buffer,encoding='gb18030') #改变标准输出的默认编码 ps: 1.str转bytes叫encode,bytes转str叫decode 2.常用的中文编码名

20170427报错UnicodeEncodeError: ‘gbk’ codec can’t encode character ‘\xa0’ in position

今天写python,将网上数据流编写进文件里时遇到的,网上搜到结果并正确的进行了处理,把原文解决方法拷过来了,嘿嘿 使用Python写文件的时候,或者将网络数据流写入到本地文件的时候,大部分情况下会遇到:UnicodeEncodeError: 'gbk' codec can't encode character '\xa0' in position - 这个问题. 网络上有很多类似的文件讲述如何解决这个问题,但是无非就是encode,decode相关的,这是导致该问题出现的真正原因吗?不是的.

UnicodeEncodeError: 'gbk' codec can't encode character '\xa0' in position 46:illegal multibyte sequence

最近使用python写入文件时,出现了如下的错误: 但是content的内容是unicode编码,不知道怎么和gbk扯上了关系,对content使用encode()和decode(),用gbk,utf-8,gb2312各种编码解码都没有效果: 在网上查找资料,看到一篇文章关于这个的说法:http://blog.csdn.net/xiaoyi_zhang/article/details/51675099 结论是: 1.'gbk' codec can't encode character :说明是将

python爬虫-'gbk' codec can't encode character '\xa0' in position 134: illegal multibyte sequence

UnicodeEncodeError Traceback (most recent call last) <ipython-input-95-45a7accf2da0> in <module> 1 fout = open('job_desc.txt', 'wt') 2 for info in job_desc: ----> 3 fout.write("{},\"{}\"\n".format(info[0],info[1].replace

【编码】UnicodeEncodeError: &#39;gbk&#39; codec can&#39;t encode character &#39;\xa0&#39; in position XXX

有时候在win中运行代码会遇到题目中的报错问题: "UnicodeEncodeError: 'gbk' codec can't encode character '\xa0' in position XXX",让人摸不着头脑的是程序开头的编码设置# coding:utf-8 和数据流IO操作时的编码转化都已经在程序中加入加入了.gbk哪里来的呢?其实就是win中新文件的默认编码是gbk. 当我们遇到编码问题的时候,有三个地方需要注意的:文件的编码,IDE的编码,还有数据流IO操作过程中

day1 UnicodeEncodeError: &#39;gbk&#39; codec can&#39;t encode character &#39;\xa0&#39; in position 2490: illegal multibyte sequence 错误提示

get方式得到网页的信息 #coding=utf-8 #pip install requests #直接get到网页的信息 import requests from bs4 import BeautifulSoup response = requests.get('https://www.sogou.com/web?query=搞基建') print(response.text) #打印搜索出来的全部信息 #从 response.text 找出 <div class = 'wrwrap> &l

UnicodeEncodeError: &#39;gbk&#39; codec can&#39;t encode character &#39;\ufeff&#39; in position 0: illegal multibyte sequence

代码 text = response.content.decode(encoding="utf-8")出现报错提示UnicodeEncodeError: 'gbk' codec can't encode character '\ufeff' in position 0: illegal multibyte sequence试过加ignore: text = response.content.decode(encoding='gbk', errors='ignore')依然报错,百度查询

UnicodeEncodeError: &#39;gbk&#39; codec can&#39;t encode character &#39;\xa0&#39; in position 1987: illegal multibyte sequence

在爬取 url = "http://stats.meizhou.gov.cn/show/index/1543/1689" 时出现了问题: UnicodeEncodeError: 'gbk' codec can't encode character '\xa0' in position 1987: illegal multibyte sequence 解决方案: (待解决) UnicodeEncodeError: 'gbk' codec can't encode character '\