太怪了,oracle9i 的乱码问题,大家来看看!

huaxiaoyu 2009-03-31 03:23:57
Oralce9i Server 的字符集和 Oracle Client([HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOMEO]) 字符集设置一样。(WE8ISO8859P1)
用PLSQL 工具查看记录,中文能正常显示,用C#的System.Data.OracleClient编程查询数据返回到dataset,dataset里面中文显示的就是乱码,
太怪了,重来没有见过,高手快来帮帮忙!
...全文
235 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
huaxiaoyu 2009-04-15
  • 打赏
  • 举报
回复
c#中如何设置字符集呀,我找了好久都没有找到!
hecker728 2009-04-15
  • 打赏
  • 举报
回复
把乱码用 System.Encoding.GetEncoding("GB2312")
转换
wrmyin 2009-04-15
  • 打赏
  • 举报
回复
Encoding encoder = Encoding.GetEncoding("WE8ISO8859P1");
不知道对不对,试试看
huaxiaoyu 2009-04-15
  • 打赏
  • 举报
回复
现在是这样的,我改用oledb连接oracle9i数据库,查询表的记录,中文能显示正常了,但是执行存储过程返回值的中文还是乱码,又不能更改数据库的字符集,真不知道从何下下手,高手们快来搭救啊!!!
mumu_java 2009-04-01
  • 打赏
  • 举报
回复
这个貌似是在C#中设置一下字符集。
阿三 2009-03-31
  • 打赏
  • 举报
回复
设置nls_lang环境变量
huaxiaoyu 2009-03-31
  • 打赏
  • 举报
回复
晕,将数据库的字符集改成ZHS16GBK就可以了,但是我的系统要求数据库用WE8ISO8859P1字符集,不能更改呀,怎么办呀?
dinya2003 2009-03-31
  • 打赏
  • 举报
回复
C#里面有控制字符集的地方吗? 忘记了.

PLSQL是通过本地注册表的字符集决定是否进行数据转换的, 你设置了一样,当然就不存在转换的问题了.

而C#, 我想应该是根据当前系统的字符集进行转换的吧(我猜测,因为以前我做过一小段C#程序, 似乎没有地方设置字符集的.), 你找个中文字符集的数据库看一下, ZHS16GBK或相关子集.

17,134

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧