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文字列のように見えるものに単純にデコードされたものである可能性があります。