2013-03-15 52 views
0

我有這個型號命名Newsasp.net MVC 4顯示Unicode文本字段

NewsId int, 
Subjet nvarchar(100), 
Content text 

創建news instance我試着輸入Unicode文本內容field.the問題的時候就是這個unicode內容字段顯示像這樣:

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

注:顯示內容領域我這樣做是view

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

我tryed設置Unicode選項在web.config中:

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

,但它沒有工作!

我也試過@Html.Encode(item.Content)但沒有結果!

編輯:和使用頭部分這個標籤沒有幫助我: <meta charset="utf-8" />

什麼建議嗎?

編輯:我剛剛發現News Instances保存在數據庫中有我提到的內容field.as這個損壞的數據,在數據庫內容字段的類型是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

我終於想出了這個解決方案:

我改變content字段的類型從textnvarchar(max)和每一件事情都很順利。

0

把下列元頭中的嘗試使你的頁面UTF-8佈局的節:

<meta charset="utf-8" /> 

另一種可能性是,該文本已經存儲在數據庫中在這種情況下,你將不得不修正負責該代碼的破壞。

+0

我也試過這個選項,沒有結果。 – 2013-03-15 07:47:48

+0

您是否驗證過數據庫中的數據尚未損壞? – 2013-03-15 07:48:53

+0

是的,我看了一下。它存儲在數據庫中已損壞!爲什麼?? !!! – 2013-03-15 07:50:30