Преобразовать кодировку файла, используя R? (ANSI в UTF-8) - PullRequest
9 голосов
/ 20 сентября 2011

Я хочу преобразовать файл HTML, закодированный в ANSI, в UTF-8, используя R.

Существует ли какой-либо инструмент или комбинация инструментов, которые могут сделать эту работу?

Спасибо.

Редактировать : хорошо, я сузил свою проблему до другой. Это повторно опубликовано здесь: Использование «cat» для записи неанглийских символов в файл .html (в R)

Ответы [ 2 ]

22 голосов
/ 20 сентября 2011

Вы можете использовать iconv:

writeLines(iconv(readLines("tmp.html"), from = "ANSI_X3.4-1986", to = "UTF8"), "tmp2.html")

tmp2.html должен быть utf-8.


Редактировать Henrik в июне 2015 года:
Рабочее решение для Windows, извлеченное из комментариев, выглядит следующим образом:

writeLines(iconv(readLines("tmp.html"), from = "ANSI_X3.4-1986", to = "UTF8"), 
           file("tmp2.html", encoding="UTF-8"))
0 голосов
/ 09 ноября 2018

У меня были некоторые проблемы с решениями, предложенными выше, особенно с символом TAB. Эта альтернатива никогда не разочаровывала меня. К сожалению, он работает только в UNIX-подобных системах.

system('iconv -f CP1252 -t UTF-8 < tmp.html > tmp2.html')
...