2、c#开发的webservice,通过odac查询oralce数据库,其它字段返回结果正常,就是有中文的字段,返回是乱码。
3、安装的ODAC112040Xcopy_64bit这个版本。
3、求帮助!急!!!!!!!!
15 个解决方案
#1
4、从sqlplus,pl/sql developer 查询显示均正常
#2
1)看下数据库的字符集编码是什么?(select * from nls_database_parameters)
2)看下出问题字段的编码格式和16进制存储的数据内容是什么?(select dump(字段名,1016) from 表名 where 随便选一行)
2)看下出问题字段的编码格式和16进制存储的数据内容是什么?(select dump(字段名,1016) from 表名 where 随便选一行)
#4
字符集:AMERICAN_AMERICA.WE8ISO8859P1,数据格式就是很varchar2,存储的人员姓名
#5
修改Oracle数据库的编码-----在注册表中
#6
修改完记得重启电脑
#7
错了,
,,把这个编码加到系统环境变量中
然后重启电脑
然后重启电脑
#8
这些都已经改过了,没有用
#9
可以是字段中存储的内容不符合编码格式,把dump出来的结果和对应的中文贴出来看下:
select dump(姓名字段,1016) from 表名
select dump(姓名字段,1016) from 表名
#10
从pb,sqlplus,pl/sql developer读出来均正常,因为是做接口,更改不了别人的数据库
#11
1、用ole_db连接是可以,但是不稳定,一会显示正常,一会提示:发生了一个 Oracle 错误,但无法从 Oracle 中检索错误信息。
所以改成用odp.net,odp.net显示什么都正常,就是中文变为乱码。
郁闷呀
#12
中文乱码肯定是因为编码的问题导致的。 你看看你客户端的编码是什么样的 是不是和他的数据库用的编码是相同的。
不相同的话,要转换
不相同的话,要转换
#13
ADODB试过么?
#14
参考
解决Oracle处理中文乱码的一种方法
C#用oledb连接Oracle
1、用ole_db连接是可以,但是不稳定,一会显示正常,一会提示:发生了一个 Oracle 错误,但无法从 Oracle 中检索错误信息。
所以改成用odp.net,odp.net显示什么都正常,就是中文变为乱码。
郁闷呀
ADODB试过么?
没明白
#15
没人知道吗?
#1
4、从sqlplus,pl/sql developer 查询显示均正常
#2
1)看下数据库的字符集编码是什么?(select * from nls_database_parameters)
2)看下出问题字段的编码格式和16进制存储的数据内容是什么?(select dump(字段名,1016) from 表名 where 随便选一行)
2)看下出问题字段的编码格式和16进制存储的数据内容是什么?(select dump(字段名,1016) from 表名 where 随便选一行)
#3
#4
1)看下数据库的字符集编码是什么?(select * from nls_database_parameters)
2)看下出问题字段的编码格式和16进制存储的数据内容是什么?(select dump(字段名,1016) from 表名 where 随便选一行)
字符集:AMERICAN_AMERICA.WE8ISO8859P1,数据格式就是很varchar2,存储的人员姓名
#5
修改Oracle数据库的编码-----在注册表中
#6
修改完记得重启电脑
#7
错了,
,,把这个编码加到系统环境变量中
然后重启电脑
然后重启电脑
#8
错了, ,,把这个编码加到系统环境变量中
然后重启电脑
这些都已经改过了,没有用
#9
可以是字段中存储的内容不符合编码格式,把dump出来的结果和对应的中文贴出来看下:
select dump(姓名字段,1016) from 表名
select dump(姓名字段,1016) from 表名
#10
可以是字段中存储的内容不符合编码格式,把dump出来的结果和对应的中文贴出来看下:
select dump(姓名字段,1016) from 表名
从pb,sqlplus,pl/sql developer读出来均正常,因为是做接口,更改不了别人的数据库
#11
参考
解决Oracle处理中文乱码的一种方法
C#用oledb连接Oracle
1、用ole_db连接是可以,但是不稳定,一会显示正常,一会提示:发生了一个 Oracle 错误,但无法从 Oracle 中检索错误信息。
所以改成用odp.net,odp.net显示什么都正常,就是中文变为乱码。
郁闷呀
#12
中文乱码肯定是因为编码的问题导致的。 你看看你客户端的编码是什么样的 是不是和他的数据库用的编码是相同的。
不相同的话,要转换
不相同的话,要转换
#13
参考
解决Oracle处理中文乱码的一种方法
C#用oledb连接Oracle
1、用ole_db连接是可以,但是不稳定,一会显示正常,一会提示:发生了一个 Oracle 错误,但无法从 Oracle 中检索错误信息。
所以改成用odp.net,odp.net显示什么都正常,就是中文变为乱码。
郁闷呀
ADODB试过么?
#14
参考
解决Oracle处理中文乱码的一种方法
C#用oledb连接Oracle
1、用ole_db连接是可以,但是不稳定,一会显示正常,一会提示:发生了一个 Oracle 错误,但无法从 Oracle 中检索错误信息。
所以改成用odp.net,odp.net显示什么都正常,就是中文变为乱码。
郁闷呀
ADODB试过么?
没明白
#15
没人知道吗?