我有这个名为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 ????? ???? ????
答案 0 :(得分:0)
通过在广告的<head>
部分放置以下元标题,尝试将您的网页设为utf-8:
<meta charset="utf-8" />
另一种可能性是文本已经存储在数据库中已损坏,在这种情况下,您必须修复负责该操作的代码。
答案 1 :(得分:0)
我终于想出了这个解决方案:
我将content
字段的类型从text
更改为nvarchar(max)
,一切顺利。