special-characters - Umbraco 中带有特殊字符的元描述

标签 special-characters meta-tags umbraco7

在 Umbraco 的元和替代文本中使用特殊字符时遇到问题。

我正在使用 Meta 描述和 Alt 文本进行测试,如下所示:Test test æøå

它生成以下输出:

<meta name="description" content="Test test &#230;&#248;&#229;">

<img src="#" alt="Test test &#230;&#248;&#229;" />

如果我在标题标签和普通内容中插入相同的文本,那么输出就是完美的。

生成元标记和标题标记的代码如下所示:
<!DOCTYPE html>
<html lang="da">
<head>
  <meta charset="utf-8">
  <meta name="description" content="@Umbraco.Field("pageDescription")">
  <title>@Umbraco.Field("pageTitle")</title>
</head>

这些文件使用 Notepad++ 保存为 utf-8。

如果我直接在 HTML 中插入 æøå,那么它会毫无问题地显示 æøå。

我也试过这个:
<p>@Umbraco.Field("pageDescription")</p>

然后它正确显示“æøå”。

有谁知道我做错了什么?

提前致谢!

//雷内

最佳答案

看起来这是 Razor 的一个“特性”,它将始终对属性进行 HTML 编码。见:Razor - @Html.Raw() still encoding &amp; in meta tag attributes

因此,要解决此问题,您可以执行以下操作:

<meta name="description" @Html.Raw("content=\""+ @Umbraco.Field("pageDescription") + "\"") />
<title>@{ var title = new HtmlString(Umbraco.Field("pageTitle").ToString());}@title</title>

它不漂亮,但它有效。

关于special-characters - Umbraco 中带有特殊字符的元描述,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29101236/

相关文章:

servlets - 无法在 Internet Explorer 8 中显示 SVG 图表

razor - 保存内容时,Umbraco 部分 View 宏从富文本编辑器中消失

java - 如何在 Android 上制作一个显示退格 (⌫) 字符的按钮?

PHP 允许名称使用特殊字符但仍然保持安全性?

facebook - 如何设置 Metatag fb :pages correctly to enable link editing for one page with multiple channels?

asp.net-mvc - Umbraco 中的 session 开始和 session 结束

javascript - 使用 Javascript 填充 Umbraco 内容表单

swift - 文本字段中的强制模式

html - 如何用我从未见过的特殊字符编写公式?

html - 如何支持国际化和 SEO