asp.net查出oracle数据库中的中文乱码问题

把这两天两次安装IBM2650服务器中出现的问题做一个总结:

1、第一次安装,用IBM的引导盘引导,按步就班的下来,选择语言,做Raid5,选择windows系统等等 。安装好windows2003企业版之后,再去安装oracle时,安装到一半时,提示不能创建快捷方式。取消, 再安装还是不能创建快捷方式,就那样安装上了。安装之后oracle运行倒也正常,导入数据,发现中文 变成了乱码。再安装editplus和winrar发现显示窗口的中文也是乱码,右键菜单上的部分中文是乱码。 在网上搜了一下,原来是windows选择的字符集不对,在控制面板-语言修改成中文后,右键菜单上的中 文正常显示了,查看oracle数据库里的中文,也正常了。按说,到这里问题也就解决了,应该结束了。 可是配置上asp.net网站之后,发现查询出来oracle数据库中的中文,在网页上显示为乱码。

2、于是开始了解决oracle数据库中中文在asp.net网页上显示为乱码的过程。在网上搜,绝大多数说 是oracle字符集的问题,可我觉得,用plsql developer查看中文正常,应该不是oracle字符集的问题。 下班了,晚上回去继续找,还是没有找到有效的解决办法。写了三个查看oracle数据库中中文的小程序 ,一个是用vb6写成的,一个用.net写成的winform程序,一个用.net写成的webform程序。同时计划比较 服务器上的oracle的字符集和和本机上的oracle的字符集。第二天,先运行vb6程序,显示oracle数据库 的中文正常,再运行.net winform程序oracle数据库中的中文是乱码,运行.net webform程序,oracle 数据库中的中文也是乱码。初步判断是.net的字符集不正常。于是找怎么修改.net的字符集的问题,找 了半天也无找到有说.net字符集的问题,可能不是.net字符集的问题。于是就查看了oracle的字符集, 结果发现服务器上的oracle的字符集和我机器上的oracle的字符集还真的不一样:我机器上的oracle的 字符集是中文NLS_CHARACTERSET:ZHS16GBK,而服务器上的字符集是:WE8MSWIN1252。那就想办法修改 oracle的字符集吧,可是由于对oracle不是很熟悉,弄了老大一会也没有没有弄好,想把oracle卸载了 重装,结果不小心把系统也搞出了一些毛病,干脆重装了系统,注意了那些问题,安装之后也就一切OK 。

3、分析:

1)安装oracle时不能创建快捷方式,及安装其他程序也不能创建快捷方式,并且安装过程中窗口上中 文是乱码,右键菜单上的部分中文是乱码,这个原因是windows没有设置成中文,也就是在IBM的引导盘 安装的过程中,不熟悉,没有注意选择正确的时区,正确的字符集造成的。

2)vb6程序显示的oracle中文字符正常,而.net显示的oracle中文为乱码的原因应该是它们的机制不 同造成的:vb6用的是oledb,它可能使用oracle本身的字符集原样的显示了oracle中的字符;而.net用 的是另外的一种机制,它要把oracle中字符进行转换后再显示出来。(这只是我分析,没有找到证据)

时间: 2024-10-15 21:38:43

asp.net查出oracle数据库中的中文乱码问题的相关文章

ASP连接MySQL,数据库中的中文字符在页面中显示的是“?”

问题描述 我将MySQL的编码格式全部设为了utf8,包括表.字段,但是网页中显示的中文字符为"?".(网页的编码格式也是UTF-8,文件也是.)从网页中插入中文数据到数据库,数据库中却是乱码.求教大神们,这个为问题我已经弄了一天了. 解决方案 本帖最后由 qq_27764721 于 2016-05-10 17:06:21 编辑解决方案二:自己先顶一下.会不会是类库的问题?我用的MySQLDriverCS.解决方案三:问题解决了.

关于ORACLE数据库中汉字显示乱码

  1 引言 ORACLE数据库作为业界领先的数据库产品,近年来在国内大中型企业中得到了广泛的应用.虽然ORACLE数据库产品本身在本地化方面已做得相当成熟,但还是有不少用户反应汉字显示乱码的问题.如对同一数据库不同的用户对同一表中的username查询却得出了不同的结果: "ORACLE??????"和"ORACLE中国有限公司",显然结果中将中文字符显示为乱码,那么为什么呢?字符集的设置不当是影响ORACLE数据库汉字显示的关键问题. 2 关于字符集 字符集是O

快速查出Oracle数据库中锁等待的方法_oracle

通常在大型数据库系统中,为了保证数据的一致性,在对数据库中的数据进行操作时,系统会进行对数据相应的锁定. 这些锁定中有"只读锁"."排它锁","共享排它锁"等多种类型,而且每种类型又有"行级锁"(一次锁住一条记录),"页级锁"(一次锁住一页,即数据库中存储记录的最小可分配单元),"表级锁"(锁住整个表).若为"行级排它锁",则除被锁住的该行外,该表中其它行均可被其它的

ORACLE数据库中怎么求除数字、字母之外的非中文字符的正则表达式_正则表达式

最近做项目,有这样一需求:ORACLE数据库中求除数字.字母之外的非中文字符的正则表达式 如有如下字段,需将其中除字母.数字.汉字外的其他所有字符替换为空 'asdfsad ,,:)()!@123234#$%^&*(我w 是e ? 中国人../\[]::''""一人' 最终得到值:asdfsad123234我是中国人一人 select FN_REG_REPLACEOTHER('asdfsad ,,:)()!@#$%^&*(我是?中国人../\[]::''"&q

字符集-vs2008做的窗体程序查询oracle数据库数据,中文数据显示乱码

问题描述 vs2008做的窗体程序查询oracle数据库数据,中文数据显示乱码 公司的服务器字符集是英文的,然后我在电脑上装了oracle和plsql,修改了oracle下的注册表字符集都为英文的.我在plsql中查询的中文数据都可以正常显示,我在里面添加的中文数据也可以正常显示.但是,我在vs2008中做了一个查询,将查询出来的数据绑定到datagridview控件上,就出现了中文数据显示乱码,还有就是我自己在vs2008中添加新数据,在plsql中看到的数据中中文都显示为??? 跪求高手帮帮

通过ASP.NET连接Oracle数据库实例教程

通过ASP.NET连接Oracle数据库实例教程 长期以来,我一直用的是 MS SQL Server / Access 数据库,通过.NET 访问MS自家的东西几乎没碰到过什么麻烦.最近项目中要用 Oracle 作为数据库,学习研究了一些 .NET 访问Oracle 的东西,发现问题倒真的不少. 1.System.Data.OracleClient 和 System.Data.OleDb 命名空间 虽然通过这两个命名空间的类都可以访问 Oracle 数据库,但和 SQL Server 类似的(S

如何处理Oracle数据库中的坏块问题

oracle|数据|数据库|问题   本文主要介绍如何去处理在Oracle数据库中出现坏块的问题,对于坏块产生在不同的对象上,处理的方法会有所不同,本文将大致对这些方法做一些介绍.因为数据库运行时间长了,由于硬件设备的老化,出现坏块的几率会越来越大,因此,做为一个DBA,怎么去解决数据库出现的坏块问题就成了一个重要的议题了.   一:什么是数据库的坏块   首先我们来大概看一下数据库块的格式和结构 数据库的数据块有固定的格式和结构,分三层:cache layer,transaction laye

Asp.Net连接Oracle数据库的例子

asp.net|oracle|数据|数据库 Asp.Net连接Oracle数据库的例子 刚接触asp.net,发现在 .Net Framework 1.1版中,直接就有System.Data.OracleClient类库, 用于访问Oracle数据库,不过我这里好像还是1.0 版本的,不支持该对象. 这里是一个通过oledb访问数据库的例子,与在asp中的差不多,能够访问大多数的数据库,比如access之类的. <%@ Page Language="VB" %> <%

ASP.NET访问Oracle数据库的方法

asp.net|oracle|访问|数据|数据库 引言 Microsoft .NET Framework Data Provider for Oracle(以下简称为.NET for Oracle)是一个.NET Framework的组件.这个组件为我们使用.NET访问Oracle数据库提供了极大的方便.那些使用.NET和Oracle的开发人员,相信会乐的手舞足蹈,因为他们再也不必使用那个并不十分"专业="的OLEDB来访问Oracle数据库了.这个组件的设计非常类似.NET中内置的M