【发布时间】:2017-05-30 12:38:46
【问题描述】:
我有一个字符串列表作为使用 Flask 的 Facebook API 响应
posts_json = graph.get_object(id=address, fields="posts.limit(12){message,link,full_picture}")
一些字符串消息是西里尔字母。我需要将此内容发送到 GUI,Facebook API 响应解码为 unicode,因此我尝试先对其进行编码,但我的编码已知的任何内容都不适用于西里尔文内容。
我试过了
item['message'] = post[u'message'].encode('cp850', errors='replace')
结果是这样的
"message": "??????? ? ??? ?????????? ???????????. ????????????
还有 'cp866' 和 'ascii' 与 '???...' 和 '/x...' 结果。
我的原始解码消息如下所示:
u'message': u'\u0421 \u0447\u0435\u043c \u043d\u043e\u0441\u0438\u0442\u044c \u0442\u043e\u043f \u0432 \u043f\u0430\u0439\u0435\u0442\u043a\u0438? \u041a\u0430\u043a
我可以使用什么来正确编码西里尔字母? 提前致谢。
注意:我成功使用“utf-8”编码的所有其他内容。
更新:“utf-8”将我的消息转换为 '\xd0\xa1 \xd1\x87\xd0\xb5\xd0\xbc \xd0\xbd\xd0\xbe\xd1\x81\xd0\xb8\xd1\x82\xd1\x8c \xd1\x82\xd0\xbe\ xd0\xbf \xd0\xb2'
【问题讨论】:
-
你试过 item['message'].decode('utf-8') 吗?
-
我用 'utf-8' 对所有其他字段进行了编码,但它不包括西里尔文,这就是为什么我要询问在 Python 中为西里尔文使用哪种编码类型
-
“这就是为什么我要问 Python 中的西里尔字母使用哪种编码类型”——当然是 UTF-8。其他一切都没有多大意义。
-
不幸的是,utf-8 不适用于这种情况,可能是我的源字符串有问题或者我不知道。无论如何,谢谢。
标签: python python-2.7 facebook-graph-api encoding flask