环境oracle9i,linux
利用.sh导出是出现汉字乱码了
spool /account/sc/data/sales_oper_log_peter.csv 
set termout off 
set pagesize 0 
set heading off 
set feedback off 
set echo off 
set tab off 
set space 0 
set verify off 
set linesize 1000 
select type_name ||....................;
spool off
这是我设的参数
请问加什么参数才能解决乱码啊
NLS_LANG="Simplified Chinese_china".ZHS16GBK 
export NLS_LANG 

我就加了上面这两句,但是不使用啊,寻求解决办法

解决方案 »

  1.   

    乱码是出现在数据库中还是导出过程的日志中??
    如果是日志中:是linux环境变量参数,比如LANG设置不对造成的。如果是数据库中出现乱码,一般是因为服务器和客户端的字符集不一致导致的,即NLS_LANG的设置不匹配数据库的字符集。
    下面可以查看数据库的字符集:
    select * from database_properties WHERE property_name='NLS_CHARACTERSET';
      

  2.   

    操作系统支持汉字吗?不行的话,就到中文版的 windows 系统下执行吧。
      

  3.   

    我是远程执行.sh导出到远程的csv中,csv出现乱码,
    然后在把远程的csv文件ftp到另外一台服务器上,然后导入该服务器的数据库中,数据库中也出现乱码,
    我想问可以在.sh文件中设置参数,来实现不乱码吗?
      

  4.   

    估计是操作系统字符集不支持你选出的结果,故出现了乱码。变通方法:
    1.导出表中的数据 exp user1/pw file=xx.dmp tables=tableName1,tableName2 ;
    2.导入表中的数据 imp user1/pw file=xx.dmp fromuser=user1 touser=user2
    3.整理你要的数据形式,类似select type_name ¦ ¦....................;