14

我刚刚发现 Markdown 和 MultiMarkdown,到目前为止我很喜欢它。但是,特殊字符在导出到 HTML 时没有正确转义,并在浏览器中显示为垃圾。

例子:

How does Markdown handle special characters?
============================================

For example, German is full of ä, ö, ü and ß.

被转换为

<h1 id="howdoesmarkdownhandlespecialcharacters">How does Markdown handle special characters?</h1>

<p>For example, German is full of ä, ö, ü and ß.</p>

由于我必须用德语写很多东西,所以不能手动输入转义序列。如何使用正确转义的特殊字符获得 HTML 输出?

4

3 回答 3

6

我不知道这种情况是否适用于您,但这里是:

我对挪威字母“æ”、“ø”和“å”也有同样的需求。我使用 FireFox 和附加组件“Markdown Viewer”来查看 Markdown 文档。

如果文档以普通方式保存,在 Markdown Viewer 中查看挪威语文档会呈现乱码。

使用西方(Windows 1252)编码保存文档可以使文本很好(我也尝试过使用您的德语字母)。

于 2014-04-28T12:09:16.680 回答
5

据我所知,这是不可能的(尽管我很乐意被证明是错误的)。我最近一直在使用 Markdown 语法在 Doxygen 中生成文档,并且不得不用 替换所有 ° 符号&deg;,这是一种耻辱,因为它违背了 Markdown 的理念,即使文本文件与生成的输出一样可读。

于 2012-12-19T10:13:10.343 回答
3

您想要的是告诉浏览器使用 UTF-8 编码,在这种情况下,那些“特殊”字符将正确显示。UTF-8 可以通过在页面部分添加<meta charset="UTF-8">标签来强制执行。<head>

<!DOCTYPE html>
<html>

<head>
<meta charset="UTF-8">
<title>Title of the document</title>
</head>

<body>
<h1 id="howdoesmarkdownhandlespecialcharacters">How does Markdown handle special characters?</h1>
<p>For example, German is full of ä, ö, ü and ß.</p>
</body>
</html>

字符集信息是

  • 要么由您的降价直接引入到 html 转换器:例如,当调用包含 OP 的原始降价代码的
    pandoc -o index.html index.md --standalone
    where时,pandoc 就是这样做的,index.md
  • 或者您可以<meta charset="UTF-8">在生成*.html文件后手动输入标签,
  • 或者,您使用的降价到 html 转换器可能会提供<meta>在该部分中注入内容(在我们的例子中是标签)的选项<head>。在这种情况下pandoc,将是选项-Haka --include-in-header,尽管这是不必要的,因为pandoc默认情况下指定 UTF-8 字符集。
于 2018-05-22T08:39:29.263 回答