httprequest编码不匹配

时间:2009-08-20 06:45:05

标签: encoding

我正在使用Google Gears Worker来提交POST httprequest
(使用var request = google.gears.factory.create('beta.httprequest');

带有包含字符串
的参数 "bford%20%24%23%26!%3F%40%20%E5%BE%B3%E5%8A%9B%E5%9F%BA%E5%BD%A6"

但是Django HttpRequest正在接收它作为"bford $#&!?@ å¾³å\u008a\u009bå\u009fºå½¦"

如何指定交易中的一方或另一方将其保留未翻译状态?

1 个答案:

答案 0 :(得分:0)

检查HttpRequest.encoding和DEFAULT_CHARSET设置。根据编码值判断,这应该是UTF-8(这通常是正确的)。

可以通过查看输入流(用于POST)或环境QUERY_STRING(用于GET)并手动解码来获取'未翻译'(%s仍在)值,但它会更好地修复Django不正确的字符串到unicode解码。

根据我的理解,Django 1.0应该默认使用UTF-8,所以我不确定为什么它不在你的情况下。