Analizo mi petición con Cheerio así:
var url = http://shop.nag.ru/catalog/16939.IP-videonablyudenie-OMNY/16944.IP-kamery-OMNY-c-vario-obektivom/16704.OMNY-1000-PRO; request.get(url, function (err, response, body) { console.log(body); $ = cheerio.load(body); console.log($(".description").html()); });
Y como salida veo contenido pero en encoding extraña ilegible:
//Plain body console.log(body) (ps russian chars): Уличная 3Мп IP HD камера OMNY - попробуйте найти лучше
<p style // cheerio's console.log $(".description").html() Уличная 3Мп IP HD камера OMNY
La encoding del enlace url de destino está en formato UTF-8. Entonces, ¿por qué Cheerio rompe mi encoding?
Tratando de usar iconv para codificar la respuesta de mi cuerpo:
var body1 = iconv.decode(body, "utf-8");
pero console.log($(".description").html());
Todavía devuelve texto extraño.
Cheerio no ha roto nada. El HTML que genera será procesado por cualquier navegador exactamente igual que la entrada HTML. Echa un vistazo a este fragmento de código:
Уличная 3Мп IP HD камера OMNY - попробуйте найти лучше
Уличная 3Мп IP HD камера OMNY - попробуйте найти лучше