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;">Уличная 3Мп IP HD камера OMNY - попробуйте найти лучше</span></h1>