-
-
Notifications
You must be signed in to change notification settings - Fork 33.7k
Closed
Labels
httpIssues or PRs related to the http subsystem.Issues or PRs related to the http subsystem.querystringIssues and PRs related to the built-in querystring module.Issues and PRs related to the built-in querystring module.
Description
- Version: All versions, tested on v6.3.1
- Platform: All platforms, tested on Ubuntu x86_64 and Windows x86_64
- Subsystem:
http,querystring
Node is not able to properly send query string parameters with russian language characters.
Example:
var http = require('http');
http.get('http://httpbin.org/get?search=обязательный&a=b c', function (response) {
// Continuously update stream with data
var body = '';
response.on('data', function (d) {
body += d;
});
response.on('end', function () {
console.log(body);
});
});Results in the output:
{
"args": {
"a": "b c",
"search": ">1O70B5;L=K9"
},
"headers": {
"Host": "httpbin.org"
},
"origin": "106.51.38.69",
"url": "http://httpbin.org/get?search=>1O70B5%3BL=K9&a=b c"
}
Note that the space between b and c was correctly escaped by Node, but the first parameter ("search") sent garbage. Ideally, that should be escaped as well. Chrome XMLHttpRequest handles the encoding correctly.
shamasis, abhijitkane, jschulenklopper, omt66 and ogun34
Metadata
Metadata
Assignees
Labels
httpIssues or PRs related to the http subsystem.Issues or PRs related to the http subsystem.querystringIssues and PRs related to the built-in querystring module.Issues and PRs related to the built-in querystring module.