kırar:node.js Cheerio ayrıştırıcı böyle Cheerio ile benim isteği ayrıştırmak UTF-8 kodlamasını
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());
});
Ve içeriği ancak okunamaz garip kodlama gördüğünüz çıktı olarak:
//Plain body console.log(body) (p.s. 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
Hedef url bağlantı kodlaması UTF-8 formatındadır. Peki Cheerio neden kodlarımı kırıyor?
bedenim yanıtının kodlamak için iconv kullanmaya çalışıyorum:
var body1 = iconv.decode(body, "utf-8");
ama console.log($(".description").html());
hala garip metni döndürür.
, kontrol edildiğinde açısından bu yanıtı: Eğer kodlanmamış metni almak istiyorsanız
Ancak,
decodeEntities
seçenekfalse
ayarlayabilirsiniz /stackoverflow.com/questions/23805566/weird-characters-when-using-console-print-cheerio-nodejs – snozzanope, hala aynı sonuç :( – MeetJoeBlack