Rootop 服务器运维与web架构

解决oracle命令行执行命令时返回值为????问号

| 暂无评论

redhat5.5+oracle11gr2,命令行执行命令时,返回结果值为问号,应该是编码的问题:

[oracle@rhel55 ~]$ sqlplus /nolog

SQL*Plus: Release 11.2.0.1.0 Production on Tue Feb 7 08:58:14 2012

Copyright (c) 1982, 2009, Oracle.  All rights reserved.

SQL> conn /as sysdba
????

执行select   *   from   V$NLS_PARAMETERS 查询出值为:

PARAMETER
—————————————————————-
VALUE
—————————————————————-
NLS_NCHAR_CHARACTERSET
AL16UTF16

编码是utf16。
对于表操作现在不熟,临时的解决方法是:

oracle用户登录执行:

[oracle@rhel55 ~]$ export NLS_LANG=”SIMPLIFIED CHINESE_CHINA.AL32UTF8″   //通过环境变量设置为utf8

还可以修改oracle变量文件.bash_profile中添加export NLS_LANG=”SIMPLIFIED CHINESE_CHINA.AL32UTF8″

然后source .bash_profile生效,下次开机就自动执行。最好的方法是修改数据库,等研究会了在补充上。

原创文章,转载请注明。本文链接地址: https://www.rootop.org/pages/1086.html

作者:Venus

服务器运维与性能优化

发表回复