0

我有这个模型命名News

NewsId int,
Subjet nvarchar(100),
Content text

创建时,news instance我尝试为内容字段输入 unicode 文本。问题是这个 unicode 内容字段显示如下:

????? ???? ??? 400 ????? ???? ???? 

注意:要显示内容字段,我这样做view

 @Html.DisplayFor(modelItem => item.Content)

我尝试在 web.config 中设置 unicode 选项:

<globalization requestEncoding="utf-8" responseEncoding="utf-8" fileEncoding="utf-8" />

但它没有用!

我也试过@Html.Encode(item.Content),但没有结果!

编辑:在 head 部分使用这个标签对我没有帮助: <meta charset="utf-8" />

有什么建议吗?

编辑:我刚刚发现News Instances保存在数据库中的内容字段的数据已损坏。正如我所提到的,数据库中内容字段的类型是text,我使用此代码创建一个News Instance

[HttpPost]
[Authorize]
public ActionResult Create(News news)
{
    if (ModelState.IsValid)
    {
        db.News.Add(news);
        db.SaveChanges();
        return RedirectToAction("Index");
    }

    return View(news);
}

但内容字段的值是这样保存的:

????? ???? ??? 400 ????? ???? ???? 
4

2 回答 2

0

<head>尝试通过在布局部分放置以下元标题来制作您的页面 utf-8 :

<meta charset="utf-8" />

另一种可能性是文本已经在您的数据库中存储损坏,在这种情况下,您必须修复负责该问题的代码。

于 2013-03-15T07:45:15.620 回答
0

我终于想出了这个解决方案:

我将content字段类型从textto更改为nvarchar(max),一切顺利。

于 2013-04-05T14:15:56.710 回答