编码问题: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 multibyte sequence

在网上找了一篇解决类似问题的文章(http://www.crifan.com/unicodeencodeerror_gbk_codec_can_not_encode_character_in_position_illegal_multibyte_sequence/),

这样说:


(1)出现UnicodeEncodeError –> 说明是Unicode编码时候的问题;
(2) ‘gbk’ codec can’t encode character –> 说明是将Unicode字符编码为GBK时候出现的问题;
此时,往往最大的可能就是,本身Unicode类型的字符中,包含了一些无法转换为GBK编码的一些字符。


之后又看见另一篇文章   http://blog.csdn.net/jianhong1990/article/details/8061328

这样说:

unicode中的‘\xa0’字符在转换成gbk编码时会出现问题,gbk无法转换'\xa0'字符。
所以,在转换的时候必需进行一些前置动作:

扫描二维码关注公众号,回复: 1042655 查看本文章
[python] view plain copy
print ?
  1. string.replace(u'\xa0', u' ')    
string.replace(u'\xa0', u' ')  
将'\xa0‘替换成u' '空格。

试了一下这个,之后问题解决。

猜你喜欢

转载自blog.csdn.net/niepangu/article/details/79437170