【发布时间】:2014-05-14 06:19:05
【问题描述】:
有些人一直在使用我的 Tornado 应用程序并发出包含以下字符的 POST 请求:¡
Tornado 无法解码该值并最终出现以下错误:HTTP 400: Bad Request (Invalid unicode in PARAMNAME: b'DATAHERE')
所以我做了一些调查,得知在请求正文中,我收到了相应字符的%A1,python的decode方法对utf-8编码没有困难。
但是,在对这个值进行 URL 解码后,Tornado 以 \xa1 作为字符结束,并尝试使用 utf-8 对其进行解码但失败了,因为这实际上是 ISO-8859-1编码。
那么,解决此问题的适当方法应该是什么?因为用户正在发送有效的输出,所以我不想丢失这些数据。
【问题讨论】:
标签: python-3.x encoding tornado