【问题标题】:How to escape special characters from a markdown string?如何从降价字符串中转义特殊字符?
【发布时间】:2013-03-18 10:21:30
【问题描述】:

我有一个 markdown 文件 (utf8),我正在将其转换为 html 文件。我当前的设置非常简单(伪代码):

var file = read(site.postLocation + '/in.md', 'utf8');
var escaped = marked( file );
write('out.html', escaped);

这很好用,但是我现在遇到了一个问题,即 Markdown 文件中的特殊字符(例如é)在浏览器中查看时会变得混乱(é)。

我发现了几个可以转换 html 实体的 npm 模块,但是它们都转换了几乎所有可转换的字符。包括 markdown 语法所需的那些(例如 '#' 变成 '#' 和 '.' 变成 '.period;' 并且 markdown 解析器将失败。

我已经尝试了库 entitiesnode-iconv

我想这是一个非常标准的问题。如何只替换所有奇怪的字母字符而没有所有 markdown 所需的符号?

【问题讨论】:

  • 您是否测试过浏览器是否可以正确打开文件中的字符(不转义)
  • 你检查过响应头中的内容类型吗?有时如果内容类型合适,那么您不必编码特殊(é)字符。并且还要确保 html 中的元标记()。为了便于调试,只需在读取前、转换为 html 后等各种状态下跟踪字符的原始值。

标签: node.js encoding entities


【解决方案1】:

正如 hilarudeens 所指出的,我忘记包含元字符集 html 标记。

<meta charset="UTF-8" />

如果您遇到类似的问题,我建议您先检查一下。

【讨论】:

    猜你喜欢
    • 2016-01-05
    • 1970-01-01
    • 2011-05-11
    • 2011-05-07
    • 1970-01-01
    • 2017-04-02
    • 2017-11-30
    • 2012-04-14
    • 1970-01-01
    相关资源
    最近更新 更多