在slqplus中更改提取的查询的编码

时间:2017-05-11 01:17:17

标签: oracle character-encoding

我在shell脚本中执行一个简单的命令来提取文件中的查询内容。

sqlplus -s /@P2AX << EXIT > /temporary/test.csv
alter session set NLS_DATE_FORMAT = 'yyyy-mm-dd HH24:mi:ss';
select *
from japhonie.ad_contacts
where con_id = 3720;
EXIT

问题是我的基地包含日文字符。 db中的当前编码是SJIS(日语的经典编码)。所以我的输出文件 /temporary/test.csv 也自动在SJIS中。但我想用UTF-8。是否有任何命令可以添加到我的shell脚本中以直接提取我的查询内容为UTF-8?或者提取后我必须这样做吗?

1 个答案:

答案 0 :(得分:1)

如果您在没有mojibake的情况下提取文件,我认为最好将/temporary/test.csv转换为UTF-8。

在Linux环境中,以下命令可以帮助您。

iconv -f Shift-JIS -t UTF8 /temporary/test.csv > /temporary/test.csv.utf8