sqlplus中文乱码的问题

今天在sqlplus测试时遇到了中文乱码的问题,说到乱码的问题最先想到的就是字符集不一致的问题。

  1. 问题描述:登陆时因为密码输入错误引起错误,但是显示结果是乱码。

2.上网查看相关资料之后,需要设置NLS_LANG,使其与oracle服务器端的字符集保持一致。

[[email protected] ~]$ echo $NLS_LANG

AMERICAN_AMERICA.ZHS16GBK

SQL> col parameter for a30

SQL> col value for a30

SQL> select * from nls_database_parameters where parameter in(‘NLS_LANGUAGE‘,‘NLS_TERRITORY‘,‘NLS_CHARACTERSET‘);

PARAMETER               VALUE

------------------------------ ------------------------------

NLS_LANGUAGE               AMERICAN

NLS_TERRITORY               AMERICA

NLS_CHARACTERSET           AL32UTF8

拼接NLS_LANGUAGE、NLS_TERRITORY  、NLS_CHARACTERSET三个参数对应的value值就是需要设定的NLS_LANG的值,即

NLS_LANG=AMERICAN_AMERICA.AL32UTF8

NLS_LANG与目标值不匹配,所以需要重新输出NLS_LANG的值,即

[[email protected] ~]$ export NLS_LANG=AMERICAN_AMERICA.AL32UTF8

重新输入上述报错的操作,正常显示中文报错信息。

时间: 2024-11-07 23:51:47

sqlplus中文乱码的问题的相关文章

Linux下SQLPlus中文乱码处理

1.首先查询数据库字符集 SQL> select userenv('language') from dual; USERENV('LANGUAGE') ---------------------------------------------------- AMERICAN_AMERICA.AL32UTF8 SQL> exit 从上面得知数据库字符集为AMERICAN_AMERICA.AL32UTF8 2.配置环境变量 echo 'export NLS_LANG="AMERICAN_

linux oracle sqlplus中文乱码解决

在oracle用户的~/.bash_profile中添加 NLS_LANG="SIMPLIFIED CHINESE"_CHINA.ZHS16GBKexport NLS_LANG 然后保存退出, source ~/.bash_profile 再次登录sqlplus乱码就没了. 注意:NLS_LANG的具体值要根据你的数据库实例的实际编码修改,一般情况下中文应该都是"SIMPLIFIED CHINESE"_CHINA.ZHS16GBK,具体怎么查询数据库的编码参考下面链

解决Linux下sqlplus中文乱码问题

错误现象:在windows下用其他工具访问oracle,确认中文正常显示.在Linux下使用sqlplus查询数据表中文内容出现乱码. 分析及解决:因为windows下正常,所以问题应出现在Linux客户端.用下列sql查询数据库字符集为"ZHS16GBK": SELECT * FROM nls_database_parameters t WHERE t.parameter = 'NLS_CHARACTERSET'; 设置环境变量NLS_LANG,问题解决. export NLS_LA

ORACLE 11G中PLSQL中文显示乱码、Linux下sqlplus查询中文乱码

问题描述: 本地是win7操作系统,cmd里面sqlplus进去连接oracle数据库,中文可以正常显示,但是plsql连接oracle数据库,中文显示乱码,还有xshell远程连接oracle服务器登录进去使用sqlplus登录也显示中文乱码. 1.检查windows7下面cmd里面sqlplus中oracle server端的字符集. 打开cmd,用sqlplus登录,输入下面SQL查询服务端的字符集. SQL> select userenv('language') fromdual; US

解决SqlPlus前台程序出现中文乱码的问题

在使用sqlplus的过程中,常常会遇到某一台机器在访问oracle数据库时中文显示乱码的问题,实际上这是因为客户端字符集和服务器字符集不一致导致的.在实际使用中,服务器字符集,客户端字符集和操作系统字符集必须一致,或者为包含关系才能正确显示出中文字符,这篇经验介绍了一种通过修改客户端字符集和操作系统字符集的方式来消除中文乱码的方法 按win+R键调出windows运行窗口,并在窗口中输入“cmd”以便进入命令行程序. 在cmd命令行下输入“sqlplus 用户名/密码@服务名”来登陆数据库,其

(转)sqlplus中文显示乱码的问题

sqlplus中文显示乱码的问题 2010-07-19 11:33:26 分类: LINUX 在windows下sqlplus完全正常,可是到linux下,sqlplus中文显示就出问题了,总是显示“??”或是其他乱码,这个问题又怎么解决呢? 经过在网络上查资料,以及尝试,得到的解法如下: 其实很简单我们只要设置退出sqlplus,设置相应的环境变量NLS_LANG       export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"   

Oracle数据库中文乱码问题

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

oracle中imp导入数据中文乱码问题(转)

(转自  http://blog.chinaunix.net/uid-186064-id-2823338.html) oracle中imp导入数据中文乱码问题 用imp命令向oracle中导入数据后,所有查询出的中文字段都为乱码. 原则上不修改服务器端的字符集,修改服务器端的字符集会出现使用第三方工具登陆数据库出现乱码的情况(具体服务器端的字符集修改办法本文有详细介绍). 将DMP文件的字符集改成与Oracleo数据库服务器端一样之后导入可正常显示.本人的系统是RHEL 5.4 32bit 一.

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.也可以