回显字符集显示乱码的问题
2015-09-25 10:30
435 查看
有时我们使用SecureCRT软件连接到我们的Oracle目标主机,会发现有些回显信息显示为乱码,非常不方便操作。
本文将介绍最常见的两种乱码情况解决方法。
一、系统字符集显示乱码
1.1 echo $LANG 查看系统字符集
1.2 根据系统字符集,CRT设置对应的字符集编码
二、sqlplus 字符集乱码
2.1 echo $NLS_LANG 查看设置值
2.2 根据系统字符集,设置对应的NLS_LANG变量
修改后发现字符集已显示正常,如下:
到此,已解决系统回显乱码问题。
一般是没有设置NLS_LANG变量或者设置的值不正确。
上面设置sqlplus的回显是英文,如果想sqlplus回显为中文,可以设置为:
此时再次登陆sqlplus发现字符集已显示正常:
当然,为方便操作,还可以选择将NLS_LANG追加入用户变量中。
一般情况下:
至此,我们就可以顺畅的操作,不再有字符集乱码的烦恼了。
本文将介绍最常见的两种乱码情况解决方法。
一、系统字符集显示乱码
1.1 echo $LANG 查看系统字符集
1.2 根据系统字符集,CRT设置对应的字符集编码
二、sqlplus 字符集乱码
2.1 echo $NLS_LANG 查看设置值
2.2 根据系统字符集,设置对应的NLS_LANG变量
一、系统字符集显示乱码
系统输入命令回显中文会显示乱码,表现如下:# df -h 鏂囦欢绯荤粺 瀹归噺 宸茬敤 鍙敤 宸茬敤%% 鎸傝浇鐐 /dev/mapper/vg00-lvroot 9.7G 7.1G 2.1G 78% /
1.1 echo $LANG 查看系统字符集
$ echo $LANG zh_CN.UTF-8
1.2 根据系统字符集,CRT设置对应的字符集编码
如下图所示:Options -> Session Options -> Terminal -> Appearance -> Character encoding 选择与系统对应的字符集编码。
修改后发现字符集已显示正常,如下:
# df -h 文件系统 容量 已用 可用 已用%% 挂载点 /dev/mapper/vg00-lvroot 9.7G 7.1G 2.1G 78% /
到此,已解决系统回显乱码问题。
二、sqlplus 字符集乱码
系统乱码解决后,sqlplus登录还有可能会显示乱码,表现如下:$ 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 查看设置值
$ echo $NLS_LANG $
一般是没有设置NLS_LANG变量或者设置的值不正确。
2.2 根据系统字符集,设置对应的NLS_LANG变量
比如,这里系统字符集为utf8,NLS_LANG可以设置为:export NLS_LANG=american_america.utf8
上面设置sqlplus的回显是英文,如果想sqlplus回显为中文,可以设置为:
export NLS_LANG="simplified chinese_china.utf8"
此时再次登陆sqlplus发现字符集已显示正常:
$ 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追加入用户变量中。
一般情况下:
bash 对应配置文件 ~/.bash_profile csh 对应配置文件 ~/.cshrc
至此,我们就可以顺畅的操作,不再有字符集乱码的烦恼了。
相关文章推荐
- 窜口通信-读取时间码
- Java基础知识强化80:Math类random()方法的小扩展(控制产生目的数字的概率)
- Android 客户端自动升级代码及“应用程序未安装”的解决办法
- 粗浅的增量代码上线shell脚本--菜鸟版
- 【投稿】打造Objective-C安全的Collection类型
- iPhone 6s正式开卖 玫瑰金抢手黄牛难觅踪迹
- Leetcode80: Product of Array Except Self
- A/B测试
- Pascal's Triangle II
- 第四次作业
- 《大道至简》第二章
- 窜口通信-发送时间码
- POJ 2378 Tree Cutting (树的重心,微变形)
- 关于Xcode 6 之后 手动导入PCH文件
- 黑马程序员--反射技术
- jQuery EasyUI使用教程之创建一个RSS阅读器
- vi编辑器的使用(1)
- VMware Workstation 11启用UEFI BIOS
- HDU 5115 Dire Wolf (区间DP)2014ICPC 北京站现场赛
- 【RecyclerView】Android 横竖屏切换 超便捷解决方案