我有一个 C#.Net 应用程序,它从由 Oracle 10 db 支持的商业应用程序访问数据。商业应用程序数据库中的几个字段(声明为 varchar2(n))包含特殊字符。例如,“智能引用”撇号。商业客户端应用程序正确显示这些字符,但我的应用程序将它们显示为倒置问号。Oracle 字符集是“WE8ISO8859P1”。
我的应用程序使用 System.Data.OracleClient.OracleDataAdapter 读取商业数据库,并通过 DataSet.Tables 转换为表。tablerows 被转换为对象,并且相关的字段被存储为字符串。
如果我在从数据库读取数据后立即检查(在调试器中)数据集中的数据,并且特殊字符已经显示不正确。我不知道如何以十六进制字节的形式检查数据以查看真正存在的内容,我也不确定我应该寻找什么。
我还注意到,Toad 也将字符显示为倒置问号。
我们应用程序的一方面将这些记录写入我们自己数据库中的单独表中;发生这种情况时,特殊字符会被修改,并随后显示为框而不是倒置的问号。
如果需要,我可以提供更多信息。感谢您的任何帮助!