Edit: Ok, так что вы видите, это UTF-8 данные декодируются в Windows-1252 (так числовые ссылки на символы были отвлекающим маневром). Вот демонстрация в Python:
>>> u = ''.join(map(unichr, [1505, 1500, 1511, 1493, 1501]))
>>> s = u.encode('utf-8')
>>> print s.decode('cp1255', 'replace')
׳¡׳�׳§׳•׳�
Решение этой проблемы зависит от среды, в которой отображается выход. Простое получение байтов, полученных и ожидающих их интерпретации как символов, приводит к таким проблемам.
HTML-документ обычно содержит тег заголовка, такой как <meta charset=utf-8>
, чтобы указать браузеру, какова должна быть его кодировка. Документ, обслуживаемый веб-сервером, содержит HTTP-заголовок, например Content-Type: text/html; charset=utf-8
.
Вы должны спросить libcurl для заголовка HTTP Content-Type
, чтобы узнать кодировку документа, а затем преобразовать его в системную кодировку с помощью iconv. Хотя в вашем случае это будет кодовая страница 1255, это зависит от системы пользователя и поэтому вы должны найти соответствующие функции, чтобы обнаружить это.
(Прочитано Unicode and Character Sets и character-encoding метки на этом сайте, для богатства дополнительной информации.)
Какую систему вы используете что? Есть ли у вас поддержка еврейских персонажей? –