用SSH调用SQLPLUS输入SQL语句,按backspace(退格键)出现^H的乱码如下所示:
[oracle@even ~]$ sqlplus / as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production on Fri Jun 6 00:09:23 2014
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, Oracle Label Security, OLAP and Data Mining options
SQL> fafafafafafaf^H^H^H^H
^H不是H键的意思,而是backspace。当你的终端backspace有问题的时候就需要设置。
在linux环境下使用sqlplus,在回(backspace)时往往会出现乱码。出现乱码是由于oracle的sqlplus不使用gnu的readline库造成的。
解决方法有两种:
1。要使用回删键(backspace)时,同时按住ctrl键
2。设定环境变量 将stty erase ^H或者把 stty erase ^? 添加到.bash_profile中,设置oracle用户的profile如下所示:
[oracle@even ~]$ vi ./.bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
export PATH
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export PATH=$ORACLE_HOME/bin:$PATH
export ORACLE_SID=OMR
export OMS_HOME=$ORACLE_BASE/product/10.2.0/oms10g/oms10g
export AGENT_HOME=$ORACLE_BASE/product/10.2.0/oms10g/agent10g
stty erase ^H