Hier ist mein kleiner Code:Warum kann ich keine chinesischen Zeichen in die HTTP-Antwort von nodejs schreiben?
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);
Früher nur res.end
lasse ich „Hallo Welt“ senden und es hat gut funktioniert. Dann wollte ich mich ein wenig anpassen und änderte die "Welt" in das chinesische Äquivalent "世界" und änderte den Inhaltstyp "charset" in der Kopfzeile in "utf-8". Aber in Chrome und Firefox sehe ich:
hello 涓栫晫
jedoch erstaunlich Oper (11.61) zeigt das korrekte Ergebnis hello 世界
. Ich möchte wissen, ob ich etwas im Code verpasst habe und warum dies geschieht. Danke Jungs.
Ich denke, this post ist ähnlich wie meine Situation, aber nicht genau.
Ihr Genie !! Stimmt! –
nun, ich weiß express und webjs, ich versuche einfach die gleiche Übung zu machen und stoße plötzlich auf dieses seltsame Problem ~ :) –