英文操作系统,C#开发前台查询ORCLE数据库,查询结果是汉字,显示乱码?

问题描述

如题,英文操作系统,用C#开发的程序,查询ORACLE数据库,查询结果是汉字时,结果为乱码;当查询条件中有汉字时,查询不成功。前台和数据库显示正常,请高手指点!多谢!

解决方案

解决方案二:
在英文系统下安装中文语言库
解决方案三:
用的pl/sql改一下语言包试试,在菜单->Tools->preferences->UserInterface->Appearance->Language选择Chinese.lang。
解决方案四:
英文系统中缺少中文字符集
解决方案五:
3楼正解~~数据库是内置有中文字符集的,但是英文OS无法显示中文,只能作乱码处理,所以要给英文OS提供中文语言包支持~
解决方案六:
引用楼主vbagcl的回复:

如题,英文操作系统,用C#开发的程序,查询ORACLE数据库,查询结果是汉字时,结果为乱码;当查询条件中有汉字时,查询不成功。前台和数据库显示正常,请高手指点!多谢!

字符集的问题。不仅中英文有这种差别,同样是中文,在不同的操作系统
解决方案七:
字符集的问题。不仅中英文有这种差别,同样是中文,在不同的操作系统也可能有乱码现象出现。
解决方案八:
多谢各位指导。我可能没有说清楚,在客户端,也就是安装英文操作系统的电脑上,中文显示正常。在ORACLE服务器段,中文也能正常显示,就是用安装英文操作系统向服务器发送查询请求,查询条件中有汉字,查询结果为空。我把前台的查询语句保存到后台,中文显示乱码。
解决方案九:
我描述的再详细点。有一台电脑,安装ORACLE数据库,为叙述方便,下面称这台电脑为服务器。有一个电脑,安装win7英文系统。为叙述方便,下面把这台电脑称为:客户端。在客户端上中文文件中的中文显示正常。在客户端上安装oracle客户端,连接服务器。在客户端上安装toad,利用toad执行利用selectuserenv(’language’)fromdual;获得的结果是:AMERICAN_AMERICA.AL32UTF8在客户端上安装vs2010,利用C#开发程序,执行select*fromaawherechi_fld='清'当然,aa是服务器中的一个表,其中有两个字段:eng_fld,chi_fld.有一条记录:eng_fldchi_fldclear清查询结果为空。将select*fromaawherechi_fld='清'复制到toad中,注意toad也是安装在客户端上的,查询结果是eng_fldchi_fldclear清在客户端C#程序中执行selectchi_fldfromaawhereeng_fld='clear',查询结果是乱码。这个已经好几天了,着急啊!没有办法,我想利用ASCII码。在toad中执行selectascii('清')fromdual结果是15120517在客户端C#程序中利用byte[]array=System.Text.Encoding.Default.GetBytes(hz);获取清的编码是199229.咋办啊,实在没有办法了,请各位高手指点指点吧。多谢啦。
解决方案十:
咋没人回呢?
解决方案十一:
客户机上中文文件显示正常,不代表跟服务器通信的时候使用中文也会正常支持中文的字符集有很多种,比如UTF8,GB2312,Unicode等如果你客户机的字符集和服务器的字符集不匹配,那么分别显示中文都能正常显示,但是客户机将中文发送给服务器,服务器会不认识这就好比中国大陆用简体中文,中国台湾用繁体中文,日本也有汉字,有些是繁体字,有些是自己改造的,他们自己都能看懂,互相看就看不懂
解决方案十二:
引用10楼Z65443344的回复:

客户机上中文文件显示正常,不代表跟服务器通信的时候使用中文也会正常支持中文的字符集有很多种,比如UTF8,GB2312,Unicode等如果你客户机的字符集和服务器的字符集不匹配,那么分别显示中文都能正常显示,但是客户机将中文发送给服务器,服务器会不认识这就好比中国大陆用简体中文,中国台湾用繁体中文,日本也有汉字,有些是繁体字,有些是自己改造的,他们自己都能看懂,互相看就看不懂

大概明白你的意思,但是现在该怎么办呢,多谢指点!
解决方案十三:
你在查询语句中表示汉字时是否使用VARCHAR2datatype?
解决方案十四:
估计是你的Oracle客户端的字符集与服务器端不匹配,需要更改客户端或者服务器端的字符集,要设为一样。http://www.cnblogs.com/crazybruce/archive/2013/03/29/2988946.html
解决方案十五:
引用13楼wind_cloud2011的回复:

估计是你的Oracle客户端的字符集与服务器端不匹配,需要更改客户端或者服务器端的字符集,要设为一样。http://www.cnblogs.com/crazybruce/archive/2013/03/29/2988946.html

多谢指点!selectuserenv(’language’)fromdual;获得的结果是:AMERICAN_AMERICA.AL32UTF8在客户端设置环境变量为:AMERICAN_AMERICA.AL32UTF8查询条件有中文时,还是不行呢!是否需要将数据库的改为中文字符集呢。
解决方案:
我记得要在注册表里修改,
解决方案:
引用15楼wind_cloud2011的回复:

我记得要在注册表里修改,

正解
解决方案:
我看了一下注册表,注册表的NLS_LANG也自动改过了。咋还不行呢!
解决方案:
NLS_LANG所在位置是:hkey_current_userenvironmentnls_lang
解决方案:
以前都忘记了,只能帮你找找了。看看这个方法,http://www.tuicool.com/articles/z2Yj6nZ

时间: 2024-09-09 18:33:52

英文操作系统,C#开发前台查询ORCLE数据库,查询结果是汉字,显示乱码?的相关文章

mybatis级连查询问题-Mybatis级连查询问题数据库查询中有映射到实体就少了

问题描述 Mybatis级连查询问题数据库查询中有映射到实体就少了 "1","管理员权限","管理员权限","15:00:00",NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL "1","管理员权限","管理员权限","15:00:00","R_M","资源管理",&

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

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

highcharts+.net+mssql做柱状图,后台数据怎么绑定就可以查询到数据库查询结果

问题描述 ==========================前台和后台怎么写,就可以查询到数据库的数据了. 解决方案 解决方案二: 解决方案三:查出来的数据做成控件接受的格式解决方案四:引用2楼FoxDave的回复: 查出来的数据做成控件接受的格式 可否说具体一点呢?解决方案五:巧了,我刚刚弄好这一块...解决方案六:首先,我创建了一个类,用来序列化成json格式用的,然后传递给前台用的(我这里是mvc的,所以最后直接returnJson(ReportData)就可以了,如果你是webform

数据库分页查询语句数据库查询_数据库其它

先看看单条 SQL 语句的分页 SQL 吧. 方法1: 适用于 SQL Server 2000/2005 SELECT TOP 页大小 * FROM table1 WHERE id NOT IN ( SELECT TOP 页大小*(页数-1) id FROM table1 ORDER BY id ) ORDER BY id 方法2: 适用于 SQL Server 2000/2005 SELECT TOP 页大小 * FROM table1 WHERE id > ( SELECT ISNULL(M

YII2数据库查询实践_数据库其它

初探yii2框架,对增删改查,关联查询等数据库基本操作的简单实践. 数据库配置. /config/db.php 进行数据库配置 实践过程中有个test库->test表->两条记录如下 mysql> select * from test; +----+--------+ | id | name | +----+--------+ | 1 | zhuai | | 2 | heng | +----+--------+ 18 rows in set (0.00 sec) sql 查询方式 yii

实战 Eclipse ,Jigloo, PostgreSQL,JDBC 开发数据库查询应用系统起步

数据|数据库 实战 Eclipse ,Jigloo, PostgreSQL,JDBC 开发数据库查询应用系统起步 1 安装 Eclipse笔者用的GNU/Linux先从 下载了些GTK+相关的包编译安装之后,到Eclipse主页上 找到了Linux下GTK的 Eclipse安装文件 2 .插件笔者安装了两个插件一个是GUI设计工具 jigloo,主页:http://cloudgarden.com/jigloo/ 一个是打包工具 fat jar exporterhttp://fjep.source

oracle-数据库开发,怎么从数据库服务器上看到前台程序执行过哪些SQL

问题描述 数据库开发,怎么从数据库服务器上看到前台程序执行过哪些SQL 具体的应用情景是这样的,我编写了一个简单的Delphi的程序,操作Oracle数据库,我想看到后台的数据库执行了哪些SQL,怎么在oracle上查看到. 主要是因为我在程序中使用绑定变量的方法拼接的SQL,所以没有办法在程序中通过调试看到最后拼成的SQL是什么样的,但是它执行出错,所以我想在后台看到最终执行的SQL是什么样的,这样才能发现问题. 解决方案 select * from v$sql select * from d

安卓开发 数据库查询的时候报错

问题描述 安卓开发 数据库查询的时候报错 E/AndroidRuntime(25236): java.lang.IllegalStateException: Process 25236 exceeded cursor quota 100, will kill it 解决方案 sqlite的错,是不是你的查询有问题 解决方案二: 看看数据库游标是不是关闭了,是不是在db关闭前关闭了游标cursor

我想知道在C#中怎样同时查询多个数据库中的表。我是通过在前台添加一个数据库的信息,同时创建数据库和表

问题描述 创建后,我想返回显示页面查看相关信息,该怎样写啊~~我是用的List<>返回对象~sql,那块就不知道怎么写了,毕竟数据库名不明确,也不知道再次添加数据库信息后,那部分该怎么进行下去-- 解决方案 解决方案二:用2个或多个连接对象,用事务.解决方案三:对于你的提问,不是十分的理解,我按我的理解,说下思路你在前台创建一个数据库和表,在创建数据库的时候肯定是要填名称滴,这也说明你数据库所在的服务器上有很多不同的数据库那么,你在前台访问的时候,要先对服务器进行遍历,获取所有数据库名称生成数