Dlaczego nie mogę pisać chińskich znaków w odpowiedziach HTTP?

Oto mój mały kod:

<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>

Wcześniej po prostu pozwoliłemres.end wysłać „witaj świecie” i działało dobrze. Potem chciałem trochę wyregulować i zmienić „świat” na chiński odpowiednik „so”, więc zmieniłem „typ zawartości” „charset” w nagłówku na „utf-8”. Ale w Chrome i Firefox widzę to:

<code>hello 涓栫晫
</code>

Jednak zadziwiająca opera (11,61) pokazuje poprawny wynikhello 世界. Chcę wiedzieć, czy coś przeoczyłem w kodzie i dlaczego tak się dzieje. Dzięki chłopaki.

Myślęten post jest podobna do mojej sytuacji, ale nie do końca.

questionAnswers(3)

yourAnswerToTheQuestion