前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >回显字符集显示乱码的问题

回显字符集显示乱码的问题

作者头像
Alfred Zhao
发布2022-05-06 14:30:36
6690
发布2022-05-06 14:30:36
举报

有时我们使用SecureCRT软件连接到我们的Oracle目标主机,会发现有些回显信息显示为乱码,非常不方便操作。 本文将介绍最常见的两种乱码情况解决方法。

一、系统字符集显示乱码

二、sqlplus 字符集乱码

一、系统字符集显示乱码

系统输入命令回显中文会显示乱码,表现如下:

代码语言:javascript
复制
``` # df -h 鏂囦欢绯荤粺          瀹归噺  宸茬敤  鍙敤 宸茬敤%% 鎸傝浇鐐 /dev/mapper/vg00-lvroot                       9.7G  7.1G  2.1G  78% / ``` 

1.1 echo $LANG 查看系统字符集

代码语言:javascript
复制
 ``` $ echo $LANG zh_CN.UTF-8 ``` 

1.2 根据系统字符集,CRT设置对应的字符集编码

代码语言:javascript
复制
 如下图所示:`Options -> Session Options -> Terminal -> Appearance -> Character encoding 选择与系统对应的字符集编码。` ![](http://images.cnblogs.com/cnblogs_com/jyzhao/652804/o_SecureCRTSetCharacterEncoding.png) 修改后发现字符集已显示正常,如下: ``` # df -h 文件系统              容量  已用  可用 已用%% 挂载点 /dev/mapper/vg00-lvroot                       9.7G  7.1G  2.1G  78% / ``` 到此,已解决系统回显乱码问题。 

二、sqlplus 字符集乱码

系统乱码解决后,sqlplus登录还有可能会显示乱码,表现如下:

代码语言:javascript
复制
 ``` $ sqlplus / as sysdba 
SQL*Plus: Release 11.2.0.3.0 Production on Fri Sep 25 07:37:26 2015
Copyright (c) 1982, 2011, Oracle.  All rights reserved.
???:
 Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
 With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> archive log list
 ???????            ????
 ????             ??
 ????            USE_DB_RECOVERY_FILE_DEST
 ?????????     69111
 ?????????   69114
 ??????           69114
 SQL>

2.1 echo $NLS_LANG 查看设置值

代码语言:javascript
复制
 echo NLS_LANG
$

一般是没有设置NLS_LANG变量或者设置的值不正确。 <h2 id="2.2">2.2 根据系统字符集,设置对应的NLS_LANG变量</h2> 比如,这里系统字符集为utf8,NLS_LANG可以设置为:

代码语言:javascript
复制
export NLS_LANG=american_america.utf8

上面设置sqlplus的回显是英文,如果想sqlplus回显为中文,可以设置为:

代码语言:javascript
复制
export NLS_LANG="simplified chinese_china.utf8"

此时再次登陆sqlplus发现字符集已显示正常:

代码语言:javascript
复制
$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.3.0 Production on 星期五 9月 25 07:39:26 2015
Copyright (c) 1982, 2011, Oracle.  All rights reserved.
连接到:
 Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
 With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> archive log list
 数据库日志模式            存档模式
 自动存档             启用
 存档终点            USE_DB_RECOVERY_FILE_DEST
 最早的联机日志序列     69111
 下一个存档日志序列   69114
 当前日志序列           69114
 SQL>

当然,为方便操作,还可以选择将NLS_LANG追加入用户变量中。 一般情况下:

代码语言:javascript
复制
bash 对应配置文件 ~/.bash_profile
 csh 对应配置文件 ~/.cshrc

至此,我们就可以顺畅的操作,不再有字符集乱码的烦恼了。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2015-09-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、系统字符集显示乱码
    • 1.1 echo $LANG 查看系统字符集
      • 1.2 根据系统字符集,CRT设置对应的字符集编码
      • 二、sqlplus 字符集乱码
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档