Преобразовать кодировку rss из windows 1255 в utf 8 узлов js

Я пытаюсь разобрать иврит rss вот так: http://rss.walla.co.il/?w=/3/0/12/@rss.e

Я использую feedparser и запрос, и проблема в том, что кодировка Windows-1255, а не UTF-8

поэтому я вижу текст как:, а не как обычный текст на иврите.

Я попробовал некоторые конверты (например, iconv-lite), но мне это не удалось.

Это мой код:

function getAll(URL) {
var request = require('request');
request(URL, function (error, response, body) {
    if (!error && response.statusCode == 200) {
        var allXML = body.substring(body.indexOf('<title>') + ('<title>').length, body.indexOf('</title>'));
        var text = iconv.decode(new Buffer(allXML), 'win1255');
        console.log("text = ", text);
    }
})

}

и это то, что он печатает: text = ן¿½ן¿½ן¿½ן¿½ן¿½! ן¿½ן¿½ן¿½ן¿½ן¿½ - ן¿½ן¿½ן¿½ן¿½ן¿½

2 ответа

Я использовал этот источник: github

function getText(URL) {
http.get(URL, function(res) {
    var chunks = [];
    res.on('data', function(chunk) {
        chunks.push(chunk);
    });
    res.on('end', function() {
        var decodedBody = iconv.decode(Buffer.concat(chunks), 'win1255');
        console.log(decodedBody);
    });
});

}

Вы можете использовать модуль, такой как iconv или же iconv-lite для преобразования между кодировками, поскольку в настоящий момент узел поддерживает только utf8, utf16le, latin1/binary, ascii, hex и base64.

Другие вопросы по тегам