asp.net下用C#编的网站在读取oracle数据库时中文为乱码

来源:百度知道 编辑:UC知道 时间:2024/05/02 14:03:07
oracle数据库的字符集是ASCII,我这网页在读取时datagrid控件中应是中文的地方是偶数?或偶数的方框。如何才能显示中文,即如何将ASCII转换,谢谢。
我想问的是如何对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中的查询字符集显示完全正常,这也说明不