繁体   English   中英

如何在 Handlebars 模板中使用西班牙语字符

[英]How to use Spanish characters in Handlebars templates

我想知道渲染特殊语言字符的惯用方法是使用 Handlebars.js 模板。 当我渲染正常的 html 时,我可以使用像西班牙小写字母 e、&#233 这样的东西,它会按预期渲染。 当我将相同的文本作为字符串传递给我的 Handlebars 模板时,我只会看到字符 &#233。

我尝试创建一个 Handlebars 助手,该助手使用 jquery 使用 .html() 呈现文本,然后返回 tmp 元素的 .html() ,我得到了相同的结果。

为什么不尝试将内容输出为 HTML。 您可以通过在车把模板中添加三重括号来做到这一点。

<div class="entry">
  <h1>{{title}}</h1>
  <div class="body">
    {{{body}}}
  </div>
</div>

我认为这可能会发生,因为您使用编辑器编写了部分,该编辑器将字符编码为 ANSI,然后,布局的呈现设置为以 utf8 显示:

至少这是让我发疯的原因,直到我看到编辑器在 ANSI 中编码了典型的西班牙重音元音 éíóúá... 并且布局设置为 UTF8。 使用记事本++,您可以很容易地看到任何文件的编码是什么,如果您打开文件并查看菜单编码。

我知道这是一个老话题,但我在遇到与法语字符类似的问题时偶然发现了它。 任何硬类型的 HTML,{{{body}}} 都不起作用。

我在车把调用上解决了这个问题:

<script charset="utf-8" src="./js/handlebars-v4.1.0.js"></script>

charset="utf-8"强制车把以utf-8编码生成输出。 这解决了整个页面上的所有法语字符(包括硬输入的内容)并且没有破坏任何东西。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM