ExpressでNodeJSを使用していますが、URLに外来文字を使用すると自動的にエンコードされます。NodeJS ExpressはURLをエンコードします - デコードの方法
元の文字列に戻すにはどうすればよいですか?
NodeJSを呼び出す前に、私はエスケープ文字を使用します。
ように文字列:URL全体が今のように見えるאובמה
が%u05D0%u05D5%u05D1%u05DE%u05D4
次のようになります。私のNodeJSで今http://localhost:32323/?query=%u05D0%u05D5%u05D1%u05DE%u05D4
、私はエスケープされた文字列%u05D0%u05D5%u05D1%u05DE%u05D4
を取得します。私はurl
とquerystring
ライブラリを試してみたが、何も私の場合に合うように思わない
var url_parts = url.parse(req.url, true);
var params = url_parts.query;
var query = params.query; // '%u05D0%u05D5%u05D1%u05DE%u05D4'
:
これは、関連するコードです。
querystring.unescape(query); // still '%u05D0%u05D5%u05D1%u05DE%u05D4'
まあ簡単でした、ありがとう! – AlexD
これは長い年月が経ちません:http://cwestblog.com/2011/05/23/escape-unescape-deprecated/ –
代わりに 'querystring.unescape(str)'を使用してください – Rsh