Por que não consigo escrever caracteres chineses na resposta HTTP do nodejs?
Aqui está o meu pequeno 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 eu apenas deixeires.end
para enviar "olá mundo" e funcionou bem. Então eu queria ajustar um pouco e mudar o 'mundo' para o equivalente chinês '世界', e então mudei o 'charset' tipo de conteúdo 'no cabeçalho para' utf-8 '. Mas no Chrome e no Firefox eu vejo isso:
<code>hello 涓栫晫 </code>
No entanto, incrivelmente opera (11,61) mostra o resultado corretohello 世界
. Quero saber se perdi alguma coisa no código e por que isso está acontecendo. Obrigado pessoal.
eu acho queesta postagem é semelhante à minha situação, mas não exatamente.