iT邦幫忙

1

已解決 C#專案中使用MSSQL存入中文後變成亂碼

如題
原本的資料庫是使用MYSQL
使用了SSMA轉移到MSSQL
原本的資料都沒問題
直接在資料庫上修改也可以
但是專案中存入會變成???
已確定所屬欄位是NVARCHAR了
MSSQL的版本為2016
請問該問題有什麼樣的方法可以修正呢?


已解決
兇手是
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<資料表名字>()
.Property(e => e.name);
//.IsUnicode(false);<---這條
}

Billour iT邦新手 5 級 ‧ 2020-05-19 09:21:35 檢舉
以後有需要的人, 可以參考這裡
INSERT INTO TESTWORD
VALUES (N'瀞', N'瀞')
可參考這篇。
https://dotblogs.com.tw/stanley14/2015/11/11/153893
1

這只是編碼的問題。
你要先確定你的程式碼、資料庫都是統一一種編碼才行。

a500197 iT邦新手 5 級 ‧ 2020-05-12 10:38:39 檢舉

請問如何查詢檢驗呢?

1
米歐
iT邦新手 4 級 ‧ 2020-05-12 15:18:02

可以檢查你專案中寫入DB的SQL語法是什麼,MSSQL若要存中文需要 N 前綴詞,可能是漏了這個。

a500197 iT邦新手 5 級 ‧ 2020-05-12 15:45:48 檢舉

db.SaveChanges();
是使用這個

notice.name = "N"+frm["txtnoticeName"];
這樣寫嗎?
可是依然不行呢

pinglam iT邦新手 5 級 ‧ 2020-05-12 17:34:30 檢舉
米歐 iT邦新手 4 級 ‧ 2020-05-12 18:24:10 檢舉

是 pinglam 大說的這個沒錯,我不知道你的SQL語句是什麼,除了各樓大大說的問題外,這也是你會存入亂碼的可能之一。

0
pinglam
iT邦新手 5 級 ‧ 2020-05-12 16:54:41

請確保database的編碼是utf8
https://ithelp.ithome.com.tw/upload/images/20200512/20117157XfBIEO7Way.png
MSSQL :
https://ithelp.ithome.com.tw/upload/images/20200512/201171579QXN9QzbP5.png

看更多先前的回應...收起先前的回應...
a500197 iT邦新手 5 級 ‧ 2020-05-12 17:14:27 檢舉

請問這個頁面要去哪邊做檢查呢?

pinglam iT邦新手 5 級 ‧ 2020-05-12 17:19:33 檢舉

去你自己的mysql查.....

pinglam iT邦新手 5 級 ‧ 2020-05-12 17:20:36 檢舉

不會用command 去查的話,推薦你用mysql workbench查

a500197 iT邦新手 5 級 ‧ 2020-05-12 17:21:08 檢舉

可是我是MSSQL...

pinglam iT邦新手 5 級 ‧ 2020-05-12 17:29:28 檢舉

.....抱歉,看錯了,不過MSSQL 用NVARCHAR的確是可以存中文的呀@@

pinglam iT邦新手 5 級 ‧ 2020-05-12 17:30:29 檢舉

我有一個project 也是用mssql ,用NVARCHAR是可以存中文,可能是你的source code有問題

pinglam iT邦新手 5 級 ‧ 2020-05-12 17:52:21 檢舉

我看了一下我的MSSQL ,也是可以調編碼,已補圖

我要發表回答

立即登入回答