SSH中的SQL命令按退格键出现乱码的问题解决

 用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

 

SSH中的SQL命令按退格键出现乱码的问题解决,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。