我现在做数据同步:对方的数据库字符集'AMERICAN_AMERICA.US7ASCII' 
      我们的是:SIMPLIFIED CHINESE_CHINA.ZHS16GBK
  我在存储过程中去他们的数据过来是乱码,这个问题我该怎么解决?谢谢大家了!

解决方案 »

  1.   

    UTF-8应该是很大的了,不过如果你的数据库已经在使用的情况下,要想更改字符集比较困难。
    乱码应该都是中文,条件允许的情况下,试着把两个数据库相关乱码字段的类型由varchar2改为NVARCHAR2,也许有用。
      

  2.   

    这个同步是不行的   US7ASCII根本就不支持中文你把他取出来必然是乱码除非把你们的库也变成US7ASCII(这样的话 看上去才不是乱码 )   但是这样的话 你们原有的记录也会出乱码好象这个没有两全其美的方法
      

  3.   

    既然已经在使用了,我想可以这样:哪个的纪录比较少。可以先把纪录少的数据弄出去,改变字符集后,在把表恢复过来,比如说导成access(或者mssql),然后再把这些纪录到进oracle。纪录少的会快一些。
    如果数据量特别大(比如好几十G),我还想不到用好办法可以在短时间内完成。
      

  4.   

    先把有乱码的放到sqlserver或access中,这个时候没有乱码。改变字符集后,再把它们导回oracle中,因为原数据没有乱码,所以导入后也不会有乱码。