我该如何解决:pandoc:...:hGetContents:无效参数(无效字节序列)

时间:2012-04-27 22:09:15

标签: osx-snow-leopard pandoc

我在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)

知道如何解决这个问题吗?

3 个答案:

答案 0 :(得分:3)

遇到同样的问题我也看到这是在Pandoc README.html文件中:---

  

Pandoc对输入和输出使用UTF-8字符编码。如果你的本地人物   编码不是UTF-8,你应该通过iconv管道输入和输出:

     

iconv -t utf-8 input.txt | pandoc | 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

答案 1 :(得分:2)

正如kadeix所说,这是一个字符编码问题。修改html中的charset声明对我没有任何作用。

在vim解决此问题时,我使用了::w ++enc=utf-8

答案 2 :(得分:0)

当我尝试解析用latin-1编码的文件时,我收到此错误。

在出现此错误时,请在使用pandoc之前尝试在utf-8中保存文件(并修改html代码中的charset声明)。