steve vai中国演出:Linux下Oracle 10g乱码解决方案
来源:百度文库 编辑:偶看新闻 时间:2024/04/29 13:47:30
Linux下Oracle 10g乱码解决方案
我在安装数据库的时候已经选择了UTF8作为数据库字符集,但是在sqlplus和Oracle SQL Developer中插入数据后还是出现乱码情况。后来发现乱码是客户端造成的。
ORACLE有两方面的字符集,一是oracel server端的字符集,二是oracle client端的字符集。只有保证两个字符集一致,并且所选的字符集要能支持中文,才能不出乱码。
1.查看Oracel服务器端的字符集:
select userenv('language') from dual;
我的结果是:
USERENV('LANGUAGE')
----------------------------------------------------
AMERICAN_AMERICA.AL32UTF8
2.查看Oracle客户端的字符集:
$ echo $NLS_LANG
我出现乱码时显示的结果为空。
后来编辑.bashrc文件,导入NLS_LANG环境变量,将其设置为AMERICAN_AMERICA.AL32UTF8后,注销用户再登录,让环境变量生效后,在用sqlplus时,乱码问题就搞定了。
在linux下若安装oracle没有选择ZHS16GBK,则在处理汉字时会有乱码情况出现。解决方法:
命令行模式下执行sqlplus "/as sysdba",以sysdba身份进入sqlplus,先执行sql语句:select * from sys.props$,查看NLS_CHARACTER的值,若不是"ZHS16GBK",则可运行sql语句:update sys.props$ set value$='ZHS16GBK' where name='NLS_CHARACTERSET'
执行完毕后,停止数据库(sqlplus中使用sysdba登陆,执行shutdown命令),然后启动数据库,启动实例(startup),插入汉字成功。
经测试,该种方式由于修改了字符集的系统设置,毕竟是不妥当的(我们后来发现备份表空间失败问题,疑似由此引起),最好的办法还是重新创建数据库,创建时选择字符集为“ZHS16GBK”
我在安装数据库的时候已经选择了UTF8作为数据库字符集,但是在sqlplus和Oracle SQL Developer中插入数据后还是出现乱码情况。后来发现乱码是客户端造成的。
ORACLE有两方面的字符集,一是oracel server端的字符集,二是oracle client端的字符集。只有保证两个字符集一致,并且所选的字符集要能支持中文,才能不出乱码。
1.查看Oracel服务器端的字符集:
select userenv('language') from dual;
我的结果是:
USERENV('LANGUAGE')
----------------------------------------------------
AMERICAN_AMERICA.AL32UTF8
2.查看Oracle客户端的字符集:
$ echo $NLS_LANG
我出现乱码时显示的结果为空。
后来编辑.bashrc文件,导入NLS_LANG环境变量,将其设置为AMERICAN_AMERICA.AL32UTF8后,注销用户再登录,让环境变量生效后,在用sqlplus时,乱码问题就搞定了。
在linux下若安装oracle没有选择ZHS16GBK,则在处理汉字时会有乱码情况出现。解决方法:
命令行模式下执行sqlplus "/as sysdba",以sysdba身份进入sqlplus,先执行sql语句:select * from sys.props$,查看NLS_CHARACTER的值,若不是"ZHS16GBK",则可运行sql语句:update sys.props$ set value$='ZHS16GBK' where name='NLS_CHARACTERSET'
执行完毕后,停止数据库(sqlplus中使用sysdba登陆,执行shutdown命令),然后启动数据库,启动实例(startup),插入汉字成功。
经测试,该种方式由于修改了字符集的系统设置,毕竟是不妥当的(我们后来发现备份表空间失败问题,疑似由此引起),最好的办法还是重新创建数据库,创建时选择字符集为“ZHS16GBK”
在red hat enterprise linux 下安装oracle 10g,为什么会出现乱码?
Linux上安装Oracle 10g Release2,有安装经验的帮下。
oracle 10g可以安装在2003server下吗?
oracle 10g可以安装在xp下吗?
在linux下如何安装oracle
如何解决 linux 的乱码问题
linux下 安装g++编译器
安装oracle 10g后,用PLSQL无法初始化,各位同行帮忙解决一下。
linux下的oracle库文件能否导入windows2000中
linux下shell调用oracle存储过程的问题
linux下shell调用oracle存储过程的问题
关于 linux下的乱码问题
为什么 linux下上网中文字体都是乱码?
怎么用pb9连接oracle 10g?
ORACLE 10G 的问题,在线等!
哪里有oracle 10g 下载
Oracle 10g怎么只有一张碟?
oracle 9g可以安装在2003server下吗?
请问两个oracle数据库字符集不一致,互相访问时怎么解决中文乱码问题
linux redhat 3.0 Server企业版下如何安装oracle 9I
(急求)oracle 9i 在Linux下字符界面安装问题?
linux下oracle的tnsnames文件的配置和windwos有什么区别?
Oracle 10g的企业管理器能当Oracle 9i用吗?
oracle的10G和9i 有时们区别