我正在尝试在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#不起作用
答案 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>