场景:前台一个简单的form 登陆页 提交姓名,汉字。用firebug观察post请求如下:
参数application/x-www-form-urlencoded
age
name 王
源代码
name=%E7%8E%8B&age=
可见浏览器对汉字进行了UTF-8的URL编码。 后台nodejs服务器 代码:
function queryName(response, request){
var postData = "";
request.setEncoding('utf8');
request.addListener("data", function(postDataChunk){
postData += postDataChunk;
console.log("Received POST data chunk '"+postDataChunk+"'.");
});
request.addListener("end", function(){
console.log("完成:"+params.name);
});
}
request.setEncoding('utf8');后依然是, name=%E7%8E%8B&age= 求真相。