El cuerpo de respuesta de las solicitudes HTTP que utiliza el módulo nativo 'http' muestra caracteres de interrogación para caracteres Unicode en lugar de su valor real. Aquí está el fragmento básico de código que estoy ejecutando.Problema Unicode Node.js con el cuerpo de respuesta HTTP
var http = require('http');
var google = http.createClient(80, 'www.google.it');
var request = google.request('GET', '/',
{
'host': 'www.google.it',
}
);
request.end();
request.on('response', function (response) {
response.setEncoding('utf8');
response.on('data', function (chunk) {
console.log(chunk);
});
});
En la respuesta que hay una palabra específica que comienza con "Pubblicit". Su última letra es un personaje extraño que me muestra un signo de interrogación. La palabra debe ser Pubblicità, en su lugar se aplica como Pubblicit?.
también he intentado dar salida a los datos utilizando .toString()
:
console.log(chunk.toString());
o
console.log(chunk.toString('utf8'));
Pero estoy obteniendo los mismos resultados.
¿Alguna idea?
¿cuál es su sistema operativo? –
Prueba comprobar 'chunk.charCodeAt (chunk.length - 1)'. Si es '224' (' à'), el problema está en su consola/configuración regional. – katspaugh
@PabloFernandez, usando Mac OS X Snow Leopard –