.net使用Oracle 乱码

本机只安装了Oracle客户端,程序连接服务端时,中文条件查询不到结果,页面部分中文显示乱码。

查了下有几种解决方法,

1.修改客户端字符编码,设置和服务端的一致。

2.直接修改连接字符串方式。

https://www.cnblogs.com/bdzwater/p/3450299.html

3.直接修改windows环境变量。

https://www.cnblogs.com/yang82/p/8137575.html

我遇到的情况用第3种办法,直接修改环境变量就可以了。

摘了段这个环境变量的定义:

NLS_LANG是一个环境变量,用于定义语言,地域以及字符集属性。对于非英语的字符集,NLS_LANG的设置就非常重要。
NLS:‘National Language Support (NLS)’ 当我们设定一种nls的时候实际上我们是为oracle在存放数据时指定了他的语种所特有的一些表达形式,比如我们选择chinese,那么它的中文字符如何存放,按什么规则排序,货币如何表示,日期格式也就被设定了。

NLS_LANG参数由以下部分组成:NLS_LANG=<Language>_<Territory>.<Clients Characterset>

NLS_Language 指定: - Oracle(错误)信息的语言 - 日和月份的名称 注意:NLS_LANGUAGE与插入和查询的*数据*的语言无关。
NLS_Territory 指定: - 货币和数字格式 - 计算星期和天数的范围和惯例
客户端字符集(CLIENTS CHARACTERSET): - 定义Oracle客户端,客户应用使用的编码 * 或者它要符合您Microsoft Windows代码页 (GUI工具的ACP, 命令提示符的CHCP 值) * 或者为Unicode WIN32应用设置为UTF8/AL32UTF8。

原文地址:https://www.cnblogs.com/glory0727/p/10016499.html

时间: 2024-10-31 16:21:13

.net使用Oracle 乱码的相关文章

oracle乱码问题

oracle乱码问题一般是由于oracle字符集设置和操作系统字符集设置不一致造成的,这里不得不提到两个操作系统环境变量,LANG和NLS_LANG LANG是针对Linux系统的语言.地区.字符集的设置,对linux下的应用程序有效,如date NLS_LANG是针对Oracle语言.地区.字符集的设置,对oracle中的工具有效 很显然,需要修改NLS_LANG环境变量 查看oracle字符集方式如下: 1.进入sqlplus 命令:sqlplus /nolog 2.以系统管理员身份连接数据

Ado.net 访问Oracle乱码问题

之前安装Oracle - OraClient10g_home1客户端,用Ado.net访问没有问题,后来安装ODP之后,自动的又安装了Oracle - OraClient12Home1,之后就出现乱码变成???.查询条件含有中文就不行. 解决方法:打开注册表HKEY_LOCAL_MACHINE->SOFTWARE->Oracle,你会看到KEY_OraClient10g_home1项下面有个NLS_LANG,但是KEY_OraClient12Home1下面没有NLS_LANG,新建一个NLS_

Oracle 乱码

导入DMP之后 ..... 1.Oacle数据库表中数据乱码 请检查导出DMP的ORACLE数据库编码设置 修改ORACLE编码与原DMP导出编码一致 select userenv('language') from dual; -修改oracle数据库字符集:(在SQL Plus中) sql> conn / as sysdba; sql> shutdown immediate; database closed. database dismounted. oracle instance shut

Oracle数据库中文乱码问题

最近碰到Oracle乱码问题,刚开始甚是头疼,以前在合肥出差的时候,这种问题也碰到过,当时直接抛给了“乌压压一片”(一个搞数据的同事儿),这次没办法躲过,只好硬着头皮上.虽然我这次碰到的是Oracle乱码问题中的一个,但是我决定将这个乱码问题整理清楚(不整清楚,就觉得身边有个定时炸弹,怕下次整数据库的时候会突然又爆炸). 解决这个问题的关键在于理解字符集的概念,所以在正文开始之前,有必要先提一下字符集的相关知识!(这部分知识,对于解决j2ee中文参数传递过程中出现的乱码,也非常具有参考意义) 一

linux安装Oracle中文乱码问题汇总

解决oracle中文显示乱码有三层地方需要调整或者修改 第一层:操作系统层 1.首先查看linux是否有安装中文字符集, locale -a 2.设置用户的中文字符集 查看到linux安装了中文字符集,那么oracle用户下面要设置中文字符集 vi /etc/locale.conf # centos7是这个配置文件,有的linux是这个配置文件/etc/sysconfig/i18n LANG="zh_CN.UTF-8" 上面的那种方法设置完后,系统所有用户的字符集都是UTF-8.也可以

日文windows系统 oracle数据库乱码的处理

很多人肯定和我一样,由于工作需要,开发环境需要是外国文字语言 接下来我就把我对oracle乱码的处理与大家交流一下 我的windows环境是日文的处理顺序 1.修改环境变量 NLS_LANG 设置为 JAPANSE_JAPAN.JA16JIS 2.修改注册表 运行—>regedit—>HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOMExx\NLS_LANG 设置为 JAPANSE_JAPAN.JA16JIS 3.修改字符集 在sqlplus中处理 >shutd

[oracle]解决centos 7下oracle的中文乱码问题

首先在形成中文乱码的原因是由于字符集不统一导致的,不同的字符集在转换的过程中必然要出现乱码,当然不排除可以转换.所以要解决中文乱码问题,思路是将输入.存储.显示等流程中涉及到字符集都统一为一种,对于oracle首先必须满足的先决条件是要服务端和客户段的字符集统一,若还不能解决问题,同时还要将系统的字符集与之统一,甚至导入或输入数据所使用的字符集统一. 看了网上的一些资料后,都说修改服务器的字符集风险比较大,确实,测试开发用还好说,假若是上线项目的服务器,那修改服务器字符集所带来的后果是不堪的,废

PL/sql developer连接数据库的问题以及oracle数据库中文乱码的问题

今天第二次配置PL/sql developer,表示很蛋疼,昨天因为动了一个东西然后莫名其妙的就再也连接不了数据库,总是显示各种错误,我动的东西是因为中文会显示乱码,(因为我是用32位的PL/sql developer连接64位的orcale,所以参照网上的教程在添加了一个环境变量名字是NLS_LANG,值是SIMPLIFIED CHINESE_CHINA.ZHS16GBK,然后把注册表下面的这个名字的值也改成了这一样的,然后我再次登陆就显示各种错误了,连改回去都不行,还尝试过重新创建数据库,最

Oracle Sqlplus中上下键出现^[[A乱码问题

安装rlwrap 下载:http://utopia.knoware.nl/~hlub/uck/rlwrap/ 或者 百度云盘:http://pan.baidu.com/s/1ntM8YXr 需要先安装readline,否则会报一下错误:You need the GNU readline library(ftp://ftp.gnu.org/gnu/readline/ ) to build this program! 如下: [[email protected] ~]# cd /opt/ [[ema