CNode

ubuntu12.04 Nodejs express 中文乱码的问题

问答
Dduiduilove发布于12 年前最后回复12 年前3 回复8663 浏览0 收藏

大家好。 我初学node.js, ubuntu12.04 64bit + node 0.10.30 + express 4.2.0 按照教材上的例子写的代码,返回来的json里面中文总是乱码。 写的js文件全部都是utf-8格式的。 请高手指导一下,是什么原因?是不是环境的问题? 非常感谢。

router.get('/', function(req, res) {
  //res.render('index', { title: 'Express' });
    if(!req.query.user){
        return res.json({code: 0, msg: '信息不完整'});
    }
    if (req.query.type && (["male", "female"].indexOf(req.query.type) === -1)) {
        return res.json({code: 0, msg: '类型错误'});
    }
    redis.pickBottle(req.query, function(result){
        res.json(result);
    })
});
查看回复

回复 (3)

A
alsotang#1·12 年前

你的浏览器记得用 chrome。 如果用了的话,看看浏览器是不是识别错了编码,纠正成 UTF-8。 如果要稳妥地解决问题。 使用这句 res.header("Content-Type", "application/json; charset=utf-8");

全局用法:

写个全局中间件,插入这句话:res.header("Content-Type", "application/json; charset=utf-8");

参与回复
登录后即可参与回复。登录