如題
原本的資料庫是使用MYSQL
使用了SSMA轉移到MSSQL
原本的資料都沒問題
直接在資料庫上修改也可以
但是專案中存入會變成???
已確定所屬欄位是NVARCHAR了
MSSQL的版本為2016
請問該問題有什麼樣的方法可以修正呢?
已解決
兇手是
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<資料表名字>()
.Property(e => e.name);
//.IsUnicode(false);<---這條
}
可以檢查你專案中寫入DB的SQL語法是什麼,MSSQL若要存中文需要 N
前綴詞,可能是漏了這個。
db.SaveChanges();
是使用這個
notice.name = "N"+frm["txtnoticeName"];
這樣寫嗎?
可是依然不行呢
他的意思是
insert into test(name,sex) values (N'我是Merci',N'女生')
吧
參考:https://blog.xuite.net/merci0212/wretch/141175595-%5B%E8%BD%89%E8%BC%89%5D%E8%A7%A3%E6%B1%BA%E8%8B%B1%E6%96%87%E7%89%88MSSQL%E4%B8%AD%E8%BC%B8%E5%85%A5%E4%B8%AD%E6%96%87%E6%9C%83%E5%87%BA%E7%8F%BE%E4%BA%82%E7%A2%BC%E7%9A%84%E5%95%8F%E9%A1%8C
是 pinglam 大說的這個沒錯,我不知道你的SQL語句是什麼,除了各樓大大說的問題外,這也是你會存入亂碼的可能之一。
請確保database的編碼是utf8
MSSQL :