我正在尝试使用Nhibernate通过C#将中文字符保存到oracle DB中,并且保存的字符总是以一些垃圾字符结束。
我做了以下事情:
我能够通过sql developer读取中文字符输入。但是当我尝试检索它们(屏幕上的字符显示正确)并尝试将它们保存回数据库而不进行任何更改时,保存的数据变为“ ”。
任何人都知道我错过了什么?
答案 0 :(得分:1)
我会检查.NET端的数据是什么。不要相信控制台上显示的内容 - 查看UTF-16代码点。
请参阅我的debugging unicode article了解一般方法。
我似乎记得在Oracle之前遇到一些问题,之前只能通过设置数据库编码然后重建数据库来修复 - 我无法将其应用于现有数据库。然而,细节处于昏暗和遥远的过去......