C#MVC3和非拉丁字符

时间:2011-11-06 20:02:49

标签: asp.net-mvc-3

我有我的数据库结果(áéíóúàâêô...),当我显示任何这些字符时,我得到的代码如下:

á 

我的控制器是这样的:

ViewBag.EstadosDeAlma = (from e in db.EstadosDeAlma select e.Title).ToList();

我的cshtml页面是这样的:

var data = '@foreach (dynamic item in ViewBag.EstadosDeAlma){ @(item + " ") }';

此外,如果我使用任何富文本编辑器作为Tiny MCE,所有非拉丁字符也都是这样。

我该怎么做才能避免这个问题?

2 个答案:

答案 0 :(得分:0)

您在网页上使用了哪种输出编码?我建议使用UTF-8,因为你需要很多非ascii字符才能工作。

答案 1 :(得分:0)

我认为你应该在比较它们之前对这些值进行HTML编码/解码。

由于您使用的是jQuery,因此您可以利用其内置的编码功能。例如:

$('<div/>').html('& #225;gil').html() 

给你“ágil”(注意我在&amp;和#之间添加了一个额外的空格,以便stackoverflow不对它进行编码,你不需要它)

这个问题有更多相关信息。 HTML-encoding lost when attribute read from input field