My Bash脚本运行查询,将返回的数据放入文件中:
result=$($ORACLE_HOME/bin/sqlplus -s $DB_USER/$DB_PASS@$ORACLE_SID <<END>>$RETURN_FILE
set linesize 32767 pagesize 0 feedback off verify off heading off echo off;
$QUERY
exit;
END
)
文件中的输出有版权,注册和连字符都改为?
我已经看过多种方式,所以它不是编辑器,而是文件本身。
我该如何纠正?
我已经检查了区域设置,并且从其他帖子中我认为它是正确的:
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
我的版本信息是:
LSB_VERSION=base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch
Red Hat Enterprise Linux Server release 6.8 (Santiago)
BTW-这最初是一个针对同一个DB运行相同查询的ColdFusion进程,输出文件正确显示了所有内容。
答案 0 :(得分:0)
结果导出NLS_LANG = AMERICAN_AMERICA.AL32UTF8就是答案(Oracle问题不是Linux)。