当前位置: 代码迷 >> SQL >> SSH中的SQL命令按退格键出现乱码的有关问题解决
  详细解决方案

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

热度:67   发布时间:2016-05-05 11:22:21.0
SSH中的SQL命令按退格键出现乱码的问题解决

 用SSH调用SQLPLUS输入SQL语句,按backspace(退格键)出现^H的乱码如下所示:

[[email protected] ~]$ 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如下所示:

[[email protected] ~]$ 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

 

  相关解决方案