剃刀试图用重音显示文字

时间:2012-05-03 14:30:53

标签: c# asp.net-mvc razor character-encoding

我正在尝试在html标记之间显示一些文本,我正在使用@HTML.Raw方法来完成此操作,代码片段如下所示:

<!-- SEO -->
<title>@Html.Raw(Model.Title)</title>
<meta name="Description" content="@Html.Raw(Model.Description)">
<meta name="KEYWORDS" content="@Html.Raw(Model.Keywords)">
<!-- END SEO -->

Description: @Html.Raw(Model.Description)
Keywords: @Html.Raw(Model.Keywords)

但是在代码执行之后,它显示如下:

<!-- SEO -->
<title>FÚTBOL - El portal de los hinchas del fútbol</title>
<meta name="Description" content="F&#218;TBOL - El portal de los hinchas del f&#250;tbol">
<meta name="KEYWORDS" content="F&#250;tbol,hinchas">
<!-- END SEO -->
Description: FÚTBOL - El portal de los hinchas del fútbol
Keywords: Fútbol, hinchas

当转义字符串位于“字符”之间时会发生一些事情。

有谁知道为什么会这样?

修改

变量的内容完全如下:

Title: FÚTBOL - El portal de los hinchas del fútbol
Description: FÚTBOL - El portal de los hinchas del fútbol
Keywords: Fútbol, hinchas

我的_Layout中的charset和doctype是:

<!DOCTYPE html>
<html lang="es" xmlns:fb="http://www.facebook.com/2008/fbml" xmlns:og="http://ogp.me/ns#">
<head>     
  <meta charset="utf-8" />

问题不在于字母的确定,它显示Ú或ú。我不知道的是为什么它在一个案件中逃避了这封信而在另一个案件中没有,

3 个答案:

答案 0 :(得分:1)

由于&x250;是“ú”而218是“Ú”,问题是什么?您只是看到了一些使用HTML实体的情况,而不是在其他情况下。

假设您使用合适的编码提供输出,最终结果将是相同的 - 对于实体​​,它将是客户端进行非编码。

答案 1 :(得分:0)

我建议使用@ Html.Raw(“你的字符串”),只要你想强制Raw字符串。

答案 2 :(得分:0)

尝试使用vat.loc[(vat['Sum of VAT'].isin([np.nan, 0])) & (vat['Comment'] == 'Transactions 0DKK') & (vat['Memo (Main)'] != '- None -'), 'Comment'] = 'Travel bill'

例如:

HttpUtility.HtmlDecode("Your string with special characters")

信用至:@Hakan Fıstık

帖子:ASP MVC Razor encode special characters in input placeholder