oracle乱码问题

oracle乱码问题一般是由于oracle字符集设置和操作系统字符集设置不一致造成的,这里不得不提到两个操作系统环境变量,LANG和NLS_LANG

LANG是针对Linux系统的语言、地区、字符集的设置,对linux下的应用程序有效,如date

NLS_LANG是针对Oracle语言、地区、字符集的设置,对oracle中的工具有效

很显然,需要修改NLS_LANG环境变量

查看oracle字符集方式如下:

1.进入sqlplus

命令:sqlplus /nolog

2.以系统管理员身份连接数据库

命令:conn /as sysdba

3.输入查询语句

命令:select * from V$NLS_PARAMETERS where parameter = ‘NLS_CHARACTERSET‘;

查询结果如下图:

查看NLS_LANGLANG变量值

命令:echo $NLS_LANGLANG

乱码正是由于这oracle和操作系统编码不一样导致的

因此可以通过设置NLS_LANGLANG变量值来解决

命令:export NLS_LANG="AMERICAN_AMERICA.AL32UTF8"

oracle乱码问题

时间: 2024-11-07 01:10:59

oracle乱码问题的相关文章

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

.net使用Oracle 乱码

本机只安装了Oracle客户端,程序连接服务端时,中文条件查询不到结果,页面部分中文显示乱码. 查了下有几种解决方法, 1.修改客户端字符编码,设置和服务端的一致. 2.直接修改连接字符串方式. https://www.cnblogs.com/bdzwater/p/3450299.html 3.直接修改windows环境变量. https://www.cnblogs.com/yang82/p/8137575.html 我遇到的情况用第3种办法,直接修改环境变量就可以了. 摘了段这个环境变量的定义

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