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