AlexD AlexD - 3 months ago 21
Node.js Question

NodeJS Express encodes the URL - how to decode

I'm using NodeJS with Express, and when I use foreign characters in the URL, they automatically get encoded.

How do I decode it back to the original string?

Before calling NodeJS, I escape characters.

So the string:

אובמה


Becomes
%u05D0%u05D5%u05D1%u05DE%u05D4


The entire URL now looks like:
http://localhost:32323/?query=%u05D0%u05D5%u05D1%u05DE%u05D4


Now in my NodeJS, I get the escaped string
%u05D0%u05D5%u05D1%u05DE%u05D4
.

This is the relevant code:

var url_parts = url.parse(req.url, true);
var params = url_parts.query;
var query = params.query; // '%u05D0%u05D5%u05D1%u05DE%u05D4'


I've tried
url
and
querystring
libraries but nothing seems to fit my case.

querystring.unescape(query); // still '%u05D0%u05D5%u05D1%u05DE%u05D4'

Answer

unescape('%u05D0%u05D5%u05D1%u05DE%u05D4') gives "אובמה"

Try:

var querystring = unescape(query);

Comments