asp.net下用C#编的网站在读取oracle数据库时中文为乱码
来源:百度知道 编辑:UC知道 时间:2024/05/02 14:03:07
我想问的是如何对asp.net下用C#编的网站进行修改,从而使它能显示出oracle数据库中的中文,不能对oracle数据库修改。
oracle客户端查出来是好的,估计是页面编码需要转换,不知如何转换
使用vs2005,c#做的,读取Oracle数据库时为乱码,在plsql里记取的是正常的中文
网上查了,但没解决方法,是否应在web.config里改?但修改Web.config文件中的<globalization requestEncoding="iso-8859-1" responseEncoding="iso-8859-1" culture="zh-cn" />后依旧不管用。改为utf-8和gb2312也不行
http://dev.xuezhishi.net/data/Oracle/2007-06-20/18164.html
你自己看看吧
SQL Plus WorkSheet是一个窗口图形界面的SQL语句编辑器,对于那些喜欢窗口界面而不喜欢字符界面的用户,该工具相对SQL/PLUS受到了很大的欢迎。但从Oracle 8i以后,如果安装Oracle 8i时选取的是别于英语的字符集,对于我们中国,通常会选取简体中文字符集(ZHS16GBK),安装成功后,运行SQL Plus WorkSheet程序,会出现所有的中文显示以及查询结果均为乱码的情况。
二、问题分析
最初出现该问题,首先怀疑就是安装时字符集设置有问题,也就是说没有设置正确的简体中文字符集。首先检查数据库字符集,在SQL/PLUS中,运行下面的SQL语句,检查所连接数据库的字符集:
SQL> select userenv('language') from dual;
USERENV('LANGUAGE')
----------------------------------------------------
SIMPLIFIED CHINESE_CHINA.ZHS16GBK
查询结果发现数据库安装时所选字符集为简体中文ZHS16GBK,说明安装时字符集设置完全正确。第二步开始怀疑是用户客户端字符集问题,检查客户端注册表,打开注册表编辑程序(RegEdit),在HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE/NLS_LANG,发现Oracle客户端字符集为AMERICAN_AMERICA.ZHS16GBK,设置也完全正确,可以排除是客户端字符集设置错误的问题。同时还有一个现象就是在同一个客户端机器上SQL/PLUS中的查询字符集显示完全正常,这也说明不