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)たが、結果はありませんでした!

編集:そして、このタグをヘッドセクションで使用しても役に立ちませんでした: <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

私は最終的にこの解決策を思いつきました:

contentフィールドのタイプを から に変更したtextところnvarchar(max)、すべてうまくいきました。

于 2013-04-05T14:15:56.710 に答える
0

<head>レイアウトのセクションに次のメタ ヘッダーを配置して、ページを utf-8 にしてみてください。

<meta charset="utf-8" />

もう 1 つの可能性は、テキストが既にデータベースに破損して保存されていることです。この場合、その原因となっているコードを修正する必要があります。

于 2013-03-15T07:45:15.620 に答える