2
我們開始在使用SQL Server 2008 R2 Express存儲的C#項目中使用.NET版本的OrmLite。 https://github.com/ServiceStack/ServiceStack.OrmLite在SQL Server 2008 R2 Express中使用ServiceStack.OrmLite的Unicode字符串
現在我們發現,通過使用SQL Server的ORM映射器,不可能將Unicode字符保存到表中。
我們需要多語言應用程序(因此在SQL Server中設置特定的LOCALE不是解決方案)。
我們還測試了使用純ADO.NET一切正常!
我們還試圖設置配置選項:
OrmLiteConfig.DialectProvider.UseUnicode = true;
以不變應萬變!
(我認爲這是隻涉及表的創建不是字符串保存...)
你在你的數據庫列中使用什麼數據類型來存儲這個字符串? –
在我發現的源代碼中,沒有使用參數化查詢參數 - 字符串值被連接起來以生成創建/上傳/刪除SQL語句! 爲了解決這個問題,我轉移到了Dapper ORM並做了一些修改以適合我的項目需求。 –
我和MySQL和OrmLite有類似的問題。添加CharSet = utf8;到連接字符串的末尾讓它爲我工作。也許有一種類似的方法來在連接字符串中聲明SQL Server的字符集。 – swax