我刚刚发现了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输出?
答案 0 :(得分:4)
我不知道这种情况是否适用于您,但请注意:
我对挪威字母'æ','ø'和'å'有同样的需求。我使用FireFox和附加的“Markdown Viewer”查看降价文档。
如果文档以普通方式保存,则在Markdown Viewer中查看挪威文档将呈现乱码。
使用西方(Windows 1252)编码保存文档会使文本正常(我也尝试使用您的德语字母)。
答案 1 :(得分:2)
据我所知,这是不可能的(虽然我很乐意被证明是错的)。我最近使用Markdown语法在Doxygen中生成文档,并且必须用°
替换所有°符号,这是一种耻辱,因为它违背了Markdown的理念,即使文本文件可读为生成输出。
答案 2 :(得分:2)
你想要的是告诉浏览器使用UTF-8编码,在这种情况下那些&#34;特殊&#34;字符将正确显示。可以通过在页面的<meta charset="UTF-8">
部分添加<head>
标记来强制执行UTF-8。
<!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>
字符集信息是
pandoc -o index.html index.md --standalone
index.md
包含OP的原始降价代码,<meta charset="UTF-8">
文件后手动输入*.html
代码,<meta>
部分中注入内容(在我们的示例中为<head>
标记)的选项。如果pandoc
选项-H
又称--include-in-header
,那么虽然这是不必要的,因为pandoc
默认指定了UTF-8字符集。