Warum kann ich keine chinesischen Zeichen in die HTTP-Antwort von nodejs schreiben?

Hier ist mein kleiner Code:

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

Zuvor habe ich nur gelassenres.end "Hallo Welt" zu senden und es hat gut funktioniert. Dann wollte ich mich ein wenig anpassen und änderte die 'Welt' in die chinesische Entsprechung '世界' und änderte so den 'Zeichensatz' 'Inhaltstyp' in der Kopfzeile in 'utf-8'. Aber in Chrome und Firefox sehe ich das:

<code>hello 涓栫晫
</code>

Erstaunlicherweise zeigt Opera (11.61) jedoch das richtige Ergebnishello 世界. Ich möchte wissen, ob ich etwas im Code verpasst habe und warum dies geschieht. Danke Jungs.

Meiner Ansicht nachdieser Beitrag ist meiner situation aber nicht genau ähnlich.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage