Преобразование из Windows-1251 в UTF-8 в Node.js - PullRequest
9 голосов
/ 01 января 2012

Мне нужно преобразовать строку из Windows-1251 в UTF-8.

Я пытался сделать это с помощью iconv , но все, что я получаю, это что-то вроде этого:

пїЅпїЅпїЅпїЅпїЅ пїпїЅпїЅпїЅпїЅпїЅ пїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅ

var iconv = new Iconv('windows-1251', 'utf-8')
title = iconv.convert(title).toString('utf-8')

1 Ответ

16 голосов
/ 29 января 2012

Вот рабочее решение вашей проблемы. Сначала вы должны использовать Buffer и преобразовать вашу строку в двоичную.

request({ 
    uri: website_url,
    method: 'GET',
    encoding: 'binary'
}, function (error, response, body) {
        body = new Buffer(body, 'binary');
        conv = new iconv.Iconv('windows-1251', 'utf8');
        body = conv.convert(body).toString();
    }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...