微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

'UCS-2'编解码器无法编码位置1050-1050中的字符

如何解决'UCS-2'编解码器无法编码位置1050-1050中的字符

您的数据包含“基本多语言平面” 之外的字符。例如,表情符号位于BMP之外,IDLE Tk使用的窗口系统无法处理此类字符。

您可以使用转换表将BMP之外的所有内容映射到替换字符

import sys
non_bmp_map = dict.fromkeys(range(0x10000, sys.maxunicode + 1), 0xfffd)
print(x.translate(non_bmp_map))

non_bmp_mapBMP之外的所有代码点(任何高于0xFFFF的代码点,一直映射到您的Python版本可以处理最高Unicode代码点)映射到U + FFFD REPLACEMENT CHARACTER

>>> print('This works outside IDLE! \U0001F44D')
This works outside IDLE! 

解决方法

运行Python代码时,出现以下错误:

  File "E:\python343\crawler.py",line 31,in <module>
    print (x1)
  File "E:\python343\lib\idlelib\PyShell.py",line 1347,in write
    return self.shell.write(s,self.tags)
UnicodeEncodeError: 'UCS-2' codec can't encode characters in position 1050-1050: Non-BMP character not supported in Tk

这是我的代码:

x = g.request('search',{'q' : 'TaylorSwift','type' : 'page','limit' : 100})['data'][0]['id']

# GET ALL STATUS POST ON PARTICULAR PAGE(X=PAGE ID)
for x1 in g.get_connections(x,'feed')['data']:
    print (x1)
    for x2 in x1:
        print (x2)
        if(x2[1]=='status'):
            x2['message']

我怎样才能解决这个问题?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。