Node.js Cheerioparsing器打破UTF-8编码

我像Cheerio一样parsing我的请求:

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()); }); 

而作为输出,我看到的内容,但在不可读的奇怪的编码:

 //Plain body console.log(body) (ps russian chars): <h1><span style="font-size: 16px;">Уличная 3Мп IP HD камера OMNY - попробуйте найти лучше</span></h1><p style // cheerio's console.log $(".description").html() <h1><span style="font-size: 16px;">Уличная 3Мп IP HD камера OMNY 

目标url链接编码采用UTF-8格式。 那么为什么Cheerio打破了我的编码?

试图使用iconv来编码我的身体响应:

 var body1 = iconv.decode(body, "utf-8"); 

但是console.log($(".description").html()); 仍然返回奇怪的文字。

Cheerio没有破坏任何东西。 它输出的HTML将由任何浏览器呈现完全相同的HTMLinput。 看看这个片段:

 <h1><span style="font-size: 16px;">Уличная 3Мп IP HD камера OMNY - попробуйте найти лучше</span></h1> <h1><span style="font-size: 16px;">&#x423;&#x43B;&#x438;&#x447;&#x43D;&#x430;&#x44F; 3&#x41C;&#x43F; IP HD &#x43A;&#x430;&#x43C;&#x435;&#x440;&#x430; OMNY - &#x43F;&#x43E;&#x43F;&#x440;&#x43E;&#x431;&#x443;&#x439;&#x442;&#x435; &#x43D;&#x430;&#x439;&#x442;&#x438; &#x43B;&#x443;&#x447;&#x448;&#x435;</span></h1>