Facebook Graph SDK无法处理Unicode字符
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'))