这是我的小代码:
var http = require('http');
var port = 9002;
var host_ip = '<my_ip>';
http.createServer(function (req, res) {
var content = new Buffer("Hello 世界", "utf-8")
console.log('request arrived');
res.writeHead(200, {
'Content-Encoding':'utf-8',
'charset' : 'utf-8',
'Content-Length': content.length,
'Content-Type': 'text/plain'});
res.end(content.toString('utf-8'),'utf-8');
}).listen(port, host_ip);
console.log('server running at http://' + host_ip + ':' + port);
以前我只是让res.end
发送“hello world”并且效果很好。然后我想稍微调整一下,把'world'改成中文对应的'世界',所以把标题中的'charset''content-type'改成'utf-8'。但在 Chrome 和 Firefox 中,我看到了这一点:
hello 涓栫晫
然而,令人惊讶的是,opera(11.61) 确实显示了正确的结果hello 世界
。我想知道我是否遗漏了代码中的某些内容,以及为什么会这样。谢谢你们。
我认为这篇文章与我的情况相似,但不完全一样。