解决Linux下Oracle乱码以及无法使用上下键的方法


天装完Oracle,第一次装错了,没设置好oracle的环境变量,后来重新装了一遍,现在好了,可是有几个小问题,第一就是在sqlplus中会出现乱码的现象,还有就是在sqlplus中无法像在windows的cmd中那样使用backspace和上下键,自己找了些网上的资料以及根据自己的实践,终于把它解决了,希望对大家有点帮助!

1.乱码问题

由于我们当时安装oracle的时候选择的是中文版来安装的,所以oracle默认输出一些提示信息的时候都是中文的,而我的操作系统CentOS却是没有安装中文包,这就使得我们在sqlplus下会看到一些像??的乱码,解决方法就是在操作系统上安装中文包:

fonts-chinese-3.02-9.6.el5.noarch.rpm

fonts-ISO8859-2-75dpi-1.0-17.1.noarch.rpm

可以使用yum的安装方法安装:

#yum install fonts-chinese*

#yum install fonts-ISO8859*

2.backspace和上下键的问题

安装软件rlwrap可以解决这个问题,该软件是用c写的程序

rlwrap下载地址:

免费下载地址在 http://linux.bkjia.com/

用户名与密码都是www.bkjia.com

具体下载目录在 /pub/2011/11/09/解决Linux下Oracle乱码以及无法使用上下键的方法/

安装过程:

我们也可以查看解压后的tar包,查看README帮助文件

#tar -zxvf rlwrap-0.36.tar.gz

#./configure

#make

#make install

这样就可以使用 rlwarp 了

[oracle@node1 oracle]$ rlwrap sqlplus / as sysdba

这样登录数据库 , 就可以使用上 下 键查找上次执行的命令.

如果每次都需要输入 rlwrap 感觉麻烦的话 , 还可以加入到 .bash_profile 中, 就不用每次都输入了

[oracle@node1 oracle]$  vi ~/.bash_profile

添加

alias sqlplus='rlwrap sqlplus'

alias rman='rlwrap rman'

保存退出

使文件立即生效

[oracle@node1 oracle]$ source ~/.bash_profile

安装完rlwrap后,有些可能使用SecureCRT会再次出现乱码,这是修改一下SecureCRT的字符编码:

【选项】->【会话选项】->【终端】->【外观】

把里面的字符编码改成GB2312.

相关内容