ubuntu12.04 Nodejs express 中文乱码的问题
发布于 10 年前 作者 duiduilove 8043 次浏览 最后一次编辑是 8 年前 来自 问答

大家好。 我初学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 回复

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

全局用法:

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

@alsotang 非常感谢你的帮助。解决了我的问题。

回到顶部