【发布时间】:2010-12-22 13:32:11
【问题描述】:
我需要发出一个 POST 请求,其中数据可能是非 ascii(中文、日文字符)。 我需要将输入转换为 unicode 并使用 utf-8 进行编码。我是这样做的:
foo = unicode(self.request.get('foo'), 'utf-8') #convert to unicode
foo = foo.encode('utf-8') #encode with utf-8
data = {'foo': foo}
payload = urllib.urlencode(data)
但是,我的日志中不断出现此错误:
TypeError:解码 Unicode 不是 支持
【问题讨论】:
-
你为什么要从 utf-8 解码,然后再用 utf-8 编码?
-
我遵循了这个指南:evanjones.ca/python-utf8.html
-
该指南没有告诉您从 UTF8 解码为 Unicode,然后再将其编码回来。对于您的进一步问题(见下文),我建议您开始一个问题,说明您要解决的问题(不是细节,而是大问题)、您尝试了什么以及为什么没有奏效。跨度>
-
我想要的只是能够使用非 ascii 字符发出 POST 请求,但我无法进行 urlencode
-
对,你不能对 unicode 对象进行 urlencode。据我所知,formdata 应该是 UTF8 格式。
标签: python google-app-engine unicode non-ascii-characters