SSH Secure Shell Client连接Linux 命令行显示中文乱码问题 和oracle 查询数据中文乱码问题

时间:2022-06-17 21:24:52

一、SSH Secure Shell Client连接Linux 命令行显示中文乱码问题

linux 设置系统语言 

修改 /etc/sysconfig/i18n 文件,如

LANG="en_US.UTF-8",xwindow会显示英文界面,

LANG="zh_CN.GB18030",xwindow会显示中文界面。 

还有一种方法 cp /etc/sysconfig/i18n $HOME/.i18n 

修改 $HOME/.i18n 文件(vim  $HOME/.i18n),如

LANG="en_US.UTF-8",xwindow会显示英文界面,

LANG="zh_CN.GB18030",xwindow会显示中文界面。

这样就可以改变个人的界面语言,而不影响别的用户。修改后重新连接系统即可。

LANG="en_US.UTF-8",效果如下

SSH Secure Shell Client连接Linux 命令行显示中文乱码问题 和oracle 查询数据中文乱码问题

LANG="zh_CN.GB18030",效果如下

SSH Secure Shell Client连接Linux 命令行显示中文乱码问题 和oracle 查询数据中文乱码问题

 

二、SSH Secure Shell Client连接Linuxoracle 查询数据中文乱码问题

查询数据所用字符集:select * from nls_database_parameters;

NLS_LANG的组成规则为NLS_LANGUAGE_NLS_TERRITORY.NLS_CHARACTERSET 

SQL> select * from nls_database_parameters; 我的字符集即为:SIMPLIFIED CHINESE_CHINA.ZHS16GBK

[oracle@Riped-CBJORC-01 ~]$ echo $NLS_LANG
SIMPLIFIED CHINESE_CHINA.ZHS16GBK

查看oracle用户下的.bash_profile文件,NLS_LANG和所查询的是一致的,但是没有export,修改export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"

[oracle@Riped-CBJORC-01 ~]$ vim .bash_profile # .bash_profile

# Get the aliases and functions if [ -f ~/.bashrc ]; then         . ~/.bashrc fi

# User specific environment and startup programs

ORACLE_BASE=/u01/oracle

ORACLE_HOME=/u01/oracle/app/12.1.0

ORACLE_SID=GFKTBB1

NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"

PATH=$PATH:$HOME/bin:$ORACLE_HOME/OPatch:$ORACLE_HOME/bin

export PATH ORACLE_BASE ORACLE_HOME ORACLE_SID

$ source .bash_profile                //执行source命令使修改完的.bash_profile文件生效
重新连接oracle进行查询中文即可查看。

中文乱码如图:

SSH Secure Shell Client连接Linux 命令行显示中文乱码问题 和oracle 查询数据中文乱码问题

正常显示中文如图:

SSH Secure Shell Client连接Linux 命令行显示中文乱码问题 和oracle 查询数据中文乱码问题