nodejs中文显示乱码的解决方法

在服务端默认发送数据,其实是 utf8 编码内容

var http = require('http');

var server = http.createServer();

server.on('request', function (req, res) {
    res.end('你好 世界');
});

server.listen(8888, function () {
    console.log('Server is running...');
})

执行结果:

浏览器不知道你是 utf8 编码的内容

浏览器在不知道服务器响应内容的编码的情况下会按照当前操作系统的默认编码去解析

中文操作系统默认是 gbk 编码

nodejs中文显示乱码的解决方法

解决方法就是正确的告诉浏览器我给你发送的内容是什么编码的

在 http 协议中,Content-Type 就是用来告知对方我给你发送的数据内容是什么类型

// text/plain 就是普通文本
res.setHeader('Content-Type', 'text/plain; charset=utf-8');

执行结果:

nodejs中文显示乱码的解决方法

评论
:broken_heart: :confounded: :flushed: :frowning: :grinning: :heart: :kissing_heart: :mask: :pensive: :rage: :relaxed: :scream: :smile: :smirk: :sob: :stuck_out_tongue_closed_eyes: :stuck_out_tongue_winking_eye: :wink: