2016-11-11 15 views
0

ヘブライ語で単一のデータをユーザー(UI)からSQL Serverデータベースに渡すフォームがあります。ASP.NET MVCヘブライ語からSQL Serverへ

何らかの理由で、SQL Serverに格納されているデータが "???????"のように表示されます。

私がデータベースに行き、 "???????"という値を編集すると、ヘブライ語で実際の言葉に、それはヘブライ語でそれを保存します。

データベース内のフィールドは、「??????」値パスは、それは次のように格納されたデータベースにコードをトラフなぜnvarchar

あります?

CSHTML:

@using (Html.BeginForm()) 
{ 
    @Html.AntiForgeryToken() 

    <div class="form-horizontal"> 
     <h4>Album</h4> 
     <hr /> 
     @Html.ValidationSummary(true, "", new { @class = "text-danger" }) 
     <div class="form-group"> 
      @Html.LabelFor(model => model.AlbumName, htmlAttributes: new { @class = "control-label col-md-2" }) 
      <div class="col-md-10"> 
       @Html.EditorFor(model => model.AlbumName, new { htmlAttributes = new { @class = "form-control" } }) 
       @Html.ValidationMessageFor(model => model.AlbumName, "", new { @class = "text-danger" }) 
      </div> 
     </div> 

     <div class="form-group"> 
      <div class="col-md-offset-2 col-md-10"> 
       <input type="submit" value="צור אלבום" class="btn btn-default" /> 
      </div> 
     </div> 
    </div> 
} 

コントローラー:あなたのSLQ Serverデータベースに

public ActionResult Create() 
     { 
      return View(); 
     } 

     // POST: Albums/Create 
     [HttpPost] 
     [ValidateAntiForgeryToken] 
     public ActionResult Create([Bind(Include = "AlbumId,AlbumName")] Album album) 
     { 
      if (ModelState.IsValid) 
      { 
       db.Albums.Add(album); 
       db.SaveChanges(); 
       return RedirectToAction("Index"); 
      } 

      return View(album); 
     } 
+0

コードが最初の場合やデザイナーを使用している場合、また流暢なマッピングまたは属性ベースのマッピングを使用している場合は、さらに使用しているEFバージョンを含めてください。最後に、あなたの 'アルバム'モデルを含みます。 – Igor

答えて

0

あなたのコラムALBUMNAMEのデータ型を変更:コードファーストApporachで

var char(xxx) => nvarchar(xxx) 

あなたはUnicodeを持っている必要がありますTrueに設定

enter image description here

+0

列はすでに 'nvarchar'です – nirh1989

+0

@ nirh1989 - それはおそらくEFでのあなたのモデルマッピングです。 – Igor

+0

@Igor - どうすれば修正できますか? – nirh1989

関連する問題