¿Por qué no puedo escribir caracteres chinos en la respuesta HTTP de nodejs?

Aquí está mi pequeño código:

<code>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);
</code>

Anteriormente acabo de dejarres.end Para enviar "hola mundo" y funcionó bien. Luego quise ajustarme un poco y cambié el 'mundo' al equivalente chino '世界', y así cambié el 'tipo de contenido' 'juego de caracteres' en el encabezado a 'utf-8'. Pero en Chrome y Firefox veo esto:

<code>hello 涓栫晫
</code>

Sin embargo, la ópera asombrosamente (11.61) muestra el resultado correctohello 世界. Quiero saber si me he perdido algo en el código y por qué sucede esto. Gracias chicos.

Yo creo queesta publicación Es similar a mi situación pero no exactamente.

Respuestas a la pregunta(3)

Su respuesta a la pregunta