可以在sqlplus命令中使用NLS_LANG参数来指定导出数据的编码为utf-8。具体操作如下:
1. 在shell脚本中使用sqlplus命令导出数据,例如:
sqlplus username/password@database << EOF
set colsep ,
set pagesize 0
set trimspool on
set headsep off
set linesize 1000
set feedback off
set termout off
set echo off
spool output.csv
select * from table;
spool off
EOF
2. 在sqlplus命令中添加NLS_LANG参数,例如:
sqlplus username/password@database NLS_LANG=AMERICAN_AMERICA.UTF8 << EOF
set colsep ,
set pagesize 0
set trimspool on
set headsep off
set linesize 1000
set feedback off
set termout off
set echo off
spool output.csv
select * from table;
spool off
EOF
注意:NLS_LANG参数的值应该与系统的编码设置相匹配,否则可能会导致乱码问题。