关闭

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

标签: python
288人阅读 评论(0) 收藏 举报
分类:

http://www.jb51.net/article/64816.htm

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

使用Python写文件的时候,或者将网络数据流写入到本地文件的时候,大部分情况下会遇到:UnicodeEncodeError: ‘gbk’ codec can’t encode character ‘\xa0’ in position … 这个问题。 网络上有很多类似的文件讲述如何解决这个问题,但是无非就是encode,decode相关的,这是导致该问题出现的真正原因吗?不是的。 很多时候,我们使用了decode和encode,试遍了各种编码,utf8,utf-8,gbk,gb2312等等,该有的编码都试遍了,可是编译的时候仍然出现: UnicodeEncodeError: ‘gbk’ codec can’t encode character ‘\xa0’ in position XXX。 崩溃了。
在windows下面编写python脚本,编码问题很严重。
将网络数据流写入文件时时,我们会遇到几个编码:
1: #encoding=’XXX’ 这里(也就是python文件第一行的内容)的编码是指该python脚本文件本身的编码,无关紧要。只要XXX和文件本身的编码相同就行了。 比如notepad++ “格式”菜单里面里可以设置各种编码,这时需要保证该菜单里设置的编码和encoding XXX相同就行了,不同的话会报错
2:网络数据流的编码 比如获取网页,那么网络数据流的编码就是网页的编码。需要使用decode解码成unicode编码。
3:目标文件的编码 要将网络数据流的编码写入到新文件,那么我么需要指定新文件的编码。写文件代码如:
复制代码 代码如下:

f.write(txt)  

,那么txt是一个字符串,它是通过decode解码过的字符串。关键点就要来了:目标文件的编码是导致标题所指问题的罪魁祸首。如果我们打开一个文件:
复制代码 代码如下:

f = open("out.html","w")  

,在windows下面,新文件的默认编码是gbk,这样的话,python解释器会用gbk编码去解析我们的网络数据流txt,然而txt此时已经是decode过的unicode编码,这样的话就会导致解析不了,出现上述问题。 解决的办法就是,改变目标文件的编码:
复制代码 代码如下:

f = open("out.html","w",encoding='utf-8')  

。这样,问题将不复存在。

0
0
查看评论

python “UnicodeEncodeError: 'gbk' codec can't encode character问题解决。

环境 OS:w7 PY:python3.5 IDE:Pycharm moudle:requests问题 报错内容: 在爬取网页内容存储在txt文档时,遇到一个问题,google了好久,都没有解决。不得不说,编码的问题,真是个头疼的问题(尤其是使用py2,更是痛苦)分析 ...
  • xie_0723
  • xie_0723
  • 2017-03-02 16:58
  • 1002

关于Python打印网页内容时报错 UnicodeEncodeError: 'gbk' codec can't encode character……

from urllib import requesturl = 'http://www.ifeng.com' bs = request.urlopen(url).read() content = bs.decode('utf-8')print(content)在win...
  • cceevv
  • cceevv
  • 2015-04-03 18:53
  • 5582

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.std...
  • u012680593
  • u012680593
  • 2016-12-22 14:59
  • 8706

UnicodeEncodeError: 'gbk' codec can't encode character

使用Python写文件的时候,或者将网络数据流写入到本地文件的时候,大部分情况下会遇到:UnicodeEncodeError: 'gbk' codec can't encode character '\xa0' in position ... 这个问题。 网络...
  • u011056389
  • u011056389
  • 2014-03-06 10:36
  • 1944

写入文件中遇到 UnicodeEncodeError: ‘gbk’ codec can’t encode character 错误的解决办法

今天爬一个网站的内容,在写入TXT文件时,某些页面总是报UnicodeEncodeError: ‘gbk’ codec can’t encode character错误,网上找了半天也没找到解决办法。 后来终于找到了解决办法,十分简单:在f = open('英语练习.txt&...
  • VITO21
  • VITO21
  • 2016-12-06 17:59
  • 3804

Python写文件错误:UnicodeEncodeError: 'gbk' codec can't encode character '\U0001f42c' in posit

在打开文件:  fhandle = open('./song_comments1.txt', 'a')   更改为:  fhandle = open('./song_comments1.txt', 'a&...
  • LCYong_
  • LCYong_
  • 2018-01-09 14:13
  • 102

编码问题:UnicodeEncodeError: 'gbk' codec can't encode character u'\xa0' in position 148:

在写一个用BeautifulSoup抓取twitter网页时遇到的问题 # UnicodeEncodeError: 'gbk' codec can't encode character u'\xa0' in position 148: # illegal m...
  • Xiaoyi_Zhang
  • Xiaoyi_Zhang
  • 2016-06-14 22:15
  • 9178

解决python3 UnicodeEncodeError: 'gbk' codec can't encode character '\xXX' in position XX

步步为营,解决 UnicodeEncodeError: 'gbk' codec can't encode character '\xbb' in position 8530: illegal multibyte sequence
  • jim7424994
  • jim7424994
  • 2014-03-31 17:18
  • 40309

UnicodeEncodeError: 'gbk' codec can't encode character '\xa0' in position ... 问题解决办法之一

使用Python写文件的时候,或者将网络数据流写入到本地文件的时候,大部分情况下会遇到:UnicodeEncodeError: 'gbk' codec can't encode character '\xa0' in position ... 这个问题。 网络...
  • youb11
  • youb11
  • 2016-01-04 11:02
  • 852

UnicodeEncodeError: 'gbk' codec can't encode character u'\xa9' in position 28714: illegal multibyte

这个错误真的是好心塞,因为同样的代码,在别人的机器上可以运行,但不知道为什么我的就报这样的错 然而我的25行只是将获取到的源码打印 这个错几乎折磨了我一天一夜,在网上找了各种博客,试着照着他们的改了,然并卵。后来找到了一篇特别详尽的博客,http://www.crifan.com/uni...
  • taoshengyijiuzt
  • taoshengyijiuzt
  • 2015-07-17 11:21
  • 4114
    个人资料
    • 访问:122077次
    • 积分:2649
    • 等级:
    • 排名:第16266名
    • 原创:136篇
    • 转载:56篇
    • 译文:0篇
    • 评论:36条
    博客专栏