Facebook Graph SDK无法处理Unicode字符

3 投票
1 回答
1299 浏览
提问于 2025-04-17 15:04

facebook-python SDK能处理发送日文消息吗?我发送英文消息没有问题,但当我尝试发送日文时

graph.put_object("me", "feed", message=u'あなたが大好きだよ')

我遇到了下面的错误。我该怎么办呢?

Traceback (most recent call last):

File "/base/data/home/apps/s~posttofacebook123456/1.365133296513228525/kay/app.py", line 371, in get_response
response = view_func(request, **values)

File "/base/data/home/apps/s~posttofacebook123456/1.365133296513228525/myapp/views.py", line 116, in index
graph.put_object("me", "feed", message=u'あなたが大好きだよ')

File "/base/data/home/apps/s~posttofacebook123456/1.365133296513228525/myapp/facebook.py", line 140, in put_object
post_args=data)

File "/base/data/home/apps/s~posttofacebook123456/1.365133296513228525/myapp/facebook.py", line 291, in request
post_data = None if post_args is None else urllib.urlencode(post_args)

File "/python27_runtime/python27_dist/lib/python2.7/urllib.py", line 1289, in urlencode
v = quote_plus(str(v))

UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-8: ordinal not in range(128)

1 个回答

5

你需要以UTF8格式发送它。

graph.put_object("me", "feed", message='你很喜欢我'.encode('utf-8'))

撰写回答