簡體   English   中英

使用NHibernate將漢字保存到oracle中的問題

[英]Problem with saving chinese character into oracle using NHibernate

我正在嘗試使用Nhibernate通過C#將漢字保存到oracle DB中,並且保存的字符總是以某些垃圾字符結尾。

我已經完成以下工作:

  1. 字段的Hbm映射聲明為AnsiString類型,列類型聲明為sql-type =“ nvarchar”。 也嘗試了String和nvarchar2。
  2. 數據庫列的數據類型為NVARCHAR2。
  3. 注冊表,環境變量和數據庫字符集NLS_LANG設置為UTF8。

我可以通過sql開發人員閱讀中文字符輸入。 但是,當我嘗試檢索它們(字符在屏幕上正確顯示)並嘗試將它們保存回數據庫而不作任何更改時,保存的數據變成了`` ''。

有人知道我在這里錯過了什么嗎?

我將檢查.NET端真正的數據是什么。 不要相信控制台上顯示的內容-查看UTF-16代碼點。

有關一般方法,請參見我的調試unicode文章

我似乎記得在Oracle中遇到過一些問題,這些問題只能通過設置數據庫編碼然后重建數據庫來解決-我無法將其應用於現有的數據庫。 但是,細節是在昏暗而遙遠的過去...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM