Преобразовать кодировку 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.