2010-07-30 69 views
1

一切工作正常,而我的asp.net mvc 2網站的數據庫是在app_data文件夾,我轉移到sqlserver後表達所有西里爾數據後,我添加出現在???? ?MS SQL中的西里爾文數據

我用我的領域爲nvarchar和整理設置爲西里爾文,但我得到????? ...

任何建議都讚賞

[HttpPost] 
    public ActionResult AddCity(CityInfo cityInfo) 
     { 
      try 
      { 
       // TODO: Add insert logic here 
       if (ModelState.IsValid) 
       { 
        var dbM = new moonDB2(); 

        dbM.CityInfoes.AddObject(cityInfo); 
        dbM.SaveChanges(); 
        return RedirectToAction("Index"); 
       } 
       else 
       { 

        return View(cityInfo); 
       } 
      } 
      catch 
      { 

       return View(); 
      } 
     } 

回答

1

我使用nvarchar的我字段和 編碼設置爲西里爾文

無關。 NVarchar是unicode - 所以編碼不相關。編碼僅與varchar(編碼頁)相關。

  • 驗證它是數據庫,而不是asp.net區域
  • 你編碼ASP.NET的信嗎?什麼是你的服務器端asp.net區域設置?

我更傾向於相信你將字符串交給ASP.NET端,或者通過CHAR/VARCHAR列在某處運行代碼。 NVARCHAR處理西里爾文罰款。

+0

我的不好,我的排序規則 – Aviatrix 2010-07-30 08:29:46

+0

我使用EF直接插入數據到數據庫看到代碼提供 – Aviatrix 2010-07-30 08:32:22

+0

甚至更​​無關緊要。整理是排序順序。即使你把它寫到日本,它也必須正確地存儲nvarchar ..我建議你扔掉EF並做一個沒有EF的TEST(SIMPLE)。將插入物降到最低限度,並驗證behvavior。 – TomTom 2010-07-30 08:34:20

0

您需要將EntityDataModelstring屬性的Unicode方面設置爲true