我正在尝试使用pandoc的markdown2pdf生成文档pdf文件。 我的源文件包含一些西里尔文的UTF-8符号。 我的系统区域设置是en_US.UTF-8。
在缺省语言环境下运行时,markdown2pdf无法加载文档:
$ markdown2pdf doc.md -o doc.pdf markdown2pdf:/tmp/pandoc/doc.log:hGetContents:参数无效(多字节或宽字符无效或不完整)
如果我设置LANG = ru_RU.UTF-8,markdown2pdf加载文件,启动pandoc和pandoc中断(注意不同的错误文本):
$ LANG = ru_RU.UTF-8 markdown2pdf doc.md -o doc.pdf markdown2pdf:pandoc:doc.md:hGetContents:无效参数(多字节或宽字符无效或不完整)
我不想更改我的系统区域设置。 我该如何解决这个问题?
系统信息:
$ lsb_release -a 没有LSB模块可用。 经销商ID:Ubuntu 说明:Ubuntu 10.04.1 LTS 版本:10.04 代号:清楚 $ uname -a Linux localhost 2.6.32-24-generic#38-Ubuntu SMP Mon Jul 5 09:20:59 UTC 2010 x86_64 GNU / Linux $ pandoc --version pandoc 1.5.1.1
我不得不手动升级到解决这个bug的pandoc 1.6:
# Install and update cabal (Haskell's package manager) sudo apt-get install cabal cabal update cabal install cabal-install # Put cabal's executables to path echo "PATH=${PATH}:${HOME}/.cabal/bin" >> ${HOME}/.bashrc source ${HOME}/.bashrc # Reset bash's path cache hash -r cabal install -fhighlighting pandoc