在pandoc html输出中没有显示的特殊字符

时间:2014-01-20 01:04:58

标签: html utf-8 pandoc

我正在尝试在pandoc中使用特殊字符(对于外国姓氏)。我按照说明here确保使用UTF编码表示所有特殊字符(根据this page。我选择了HTML实体(十进制)选项。生成的文件在转换为docx或pdf时效果很好但是不是html。是否有适用于所有三种输出类型的编码,或者我是否需要包含其他选项?

以下是使用特殊字符编码

进行转换的一行降价代码
  

一些带有特殊字符的示例文本Å,ä,ö

(抱歉,无法弄清楚如何停止在stackexchange上转换为符号的UTF字符串)

pandoc命令

  

pandoc example.md -o example.docx#Works

     

pandoc example.md -o example.pdf#Works

     

pandoc example.md -o example.html#不起作用

通过inconv运行不会改变输出行为

  

iconv -t utf-8 example.md | pandoc -o example.html#不起作用

4 个答案:

答案 0 :(得分:39)

尝试

pandoc example.md -s -o example.html

代替。额外的-s(用于“独立”)使pandoc插入必要的元数据以创建完整的HTML文件,而不仅仅是直接对应于example.md中的文本的HTML片段。作为元数据的一部分,pandoc还会生成文件为UTF8编码的信息。您的浏览器需要此信息才能正确显示特殊字符。

如果由于某种原因无法使用-s标志,请务必以其他方式告诉浏览器UTF8。

答案 1 :(得分:1)

您还可以使用选项 --ascii 生成带有编码为实体的特殊字符的纯 ASCII 输出。

答案 2 :(得分:0)

在使用summary.md时,请将以下内容添加到标记中的_layouts / default.html中,并且您不能将-s单独使用。

 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

答案 3 :(得分:0)

在 index.html 中 将 data-charset="iso-8859-15" 更改为 data-charset="utf-8" 例子:

    <section
data-markdown="slides/demo.md"
          data-separator="\n---\n"
          data-separator-vertical="^\n\n"
          data-separator-notes="\n> >"
          data-charset="utf-8">
</section>