在基于 nodejs/express 的应用程序中,我需要处理可能包含使用 iso-8859-1 字符集编码的变音符号的 GET 请求。
不幸的是,它的查询字符串解析器似乎只处理纯 ASCII 和 UTF8:
> qs.parse('foo=bar&xyz=foo%20bar')
{ foo: 'bar', xyz: 'foo bar' } # works fine
> qs.parse('foo=bar&xyz=T%FCt%20T%FCt')
{ foo: 'bar', xyz: 'T%FCt%20T%FCt' } # iso-8859-1 breaks, should be "Tüt Tüt"
> qs.parse('foo=bar&xyz=m%C3%B6p')
{ foo: 'bar', xyz: 'möp' } # utf8 works fine
是否有隐藏选项或另一种干净的方法可以使其与其他字符集一起使用?默认行为的主要问题是我无法知道是否存在解码错误 - 毕竟,输入可能只是简单地解码为仍然看起来像 urlencoded 字符串的东西。