【问题标题】:Special characters not showing in pandoc html outputpandoc html输出中未显示特殊字符
【发布时间】:2014-02-09 01:49:47
【问题描述】:

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

这里有一行使用特殊字符编码进行转换的markdown代码

some example text with special characters Å, ä, ö

应该打印为

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

pandoc 命令

pandoc example.md -o example.docx  # Works

pandoc example.md -o example.pdf   # Works

pandoc example.md -o example.html  # Doesn't work

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

iconv -t utf-8 example.md | pandoc -o example.html  # Doesn't work

【问题讨论】:

    标签: html utf-8 pandoc


    【解决方案1】:

    试试

    pandoc example.md -s -o example.html
    

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

    如果由于某种原因您不能使用-s 标志,请确保以其他方式告诉浏览器有关 UTF8 的信息。

    【讨论】:

    • 如果有 UTF-8 汉字就不行。不得不求助于浏览器文本编码。
    • 如果您使用的是 summary.md 而不是独立的,则无用
    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

      使用summary.md时,将以下内容添加到标签中的_layouts/default.html中,并且您无法将-s用于独立。

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

      【讨论】:

        【解决方案4】:

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

        【讨论】:

        • 欢迎来到 StackOverflow!你能分享一下这段代码是如何生成的吗?看起来不像是pandoc制作的。
        猜你喜欢
        • 2016-05-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-02-19
        • 2013-03-21
        • 2013-06-19
        相关资源
        最近更新 更多