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

时间:2015-03-17 14:08:07

标签: special-characters meta-tags umbraco7

在Umbraco中使用meta和alt文本中的特殊字符时遇到问题。

我正在测试Meta描述和Alt文本,如下所示:测试测试æøå

它会生成此输出:

<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>

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

有人知道我做错了吗?

提前致谢!

//René

1 个答案:

答案 0 :(得分:4)

看起来这是一个&#34;功能&#34; 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>

它不漂亮,但它确实有效。