原文链接: http://www.lovejavascript.com/#!zone/blog/content.html?id=16
使用node.js做为后台开中,发现前端界面展示都为正常。但是从Network中查看请求信息时,发现返回数据内的中文为乱码。
出现这种情况时,只需在node中配置如下代码即可:
res.setHeader('Content-Type','text/html;charset=UTF-8');
但是需要注意,代码执行的位置需要在如下代码之前:
res.write(JSON.stringify(data));
res.end();
贴一个我使用的实例,我这块是将ajax请求与同步请求进行分类处理的。各位只需要关注ajax请求。
//ajax请求过滤器
if(urlArray.length === 3 &&
typeof(router[_controller]) == 'object' &&
typeof(router[_controller][_action]) == 'function'){
res.setHeader('Content-Type','text/html;charset=UTF-8'); //设置字符编码
router[_controller][_action](req, res);
return;
}
/*
同步请求
*/
。。。
配置后,重启node服务,编码问题即可解决。