Как решить: pandoc: :hGetContents: недопустимый аргумент (недопустимая последовательность байтов)

Я запускаю следующий код в терминале на Mac OSX 10.6.8:

find . -name \*.html -type f -exec pandoc -o {}.md {} \;

Он анализирует некоторые документы, но выдает мне эту ошибку довольно часто:

pandoc: ./Teaching/how_16825_make-lesson-book.html: hGetContents: invalid argument (invalid byte sequence)

Есть идеи, как это исправить?


person rev    schedule 27.04.2012    source источник


Ответы (3)


Имея ту же проблему, я также вижу это в файле Pandoc README.html: ---

Pandoc использует кодировку символов UTF-8 как для ввода, так и для вывода. Если ваша локальная кодировка символов не UTF-8, вы должны передавать ввод и вывод через iconv:

iconv -t utf-8 input.txt | пандок | iconv -f utf-8

Конечно, вам может понадобиться сначала установить iconv (я верю, что в Mac Osx он уже есть) ...

http://gnuwin32.sourceforge.net/packages/libiconv.htm Gnu Win32

https://code.google.com/p/win-iconv/ Google Win-Iconv

person PaulANormanNZ    schedule 27.01.2013

Как сказал kadeix, это проблема кодировки символов. Изменение объявления кодировки в html мне ничего не дало.

В vim для решения этой проблемы я использовал: :w ++enc=utf-8

person sinemetu1    schedule 29.11.2012

Я получаю эту ошибку, когда пытаюсь разобрать файл, закодированный в латинице-1.

Попробуйте сохранить файл в utf-8 (и изменить объявление кодировки в html-коде) перед использованием pandoc, когда вы получите эту ошибку.

person kadeix    schedule 04.05.2012