我用程序把oracle表中的字段逐条取出,然后写到文件里,中文字符全是乱码,代码如下:
======================================================================
    while (rs.next()){ 
        System.out.print( "result="+rs.getMetaData().getColumnCount());
for(int j=1; j<=rs.getMetaData().getColumnCount(); j++){ 
            System.out.print( rs.getObject(j)+"|+|"); 
            strLine = strLine + rs.getObject(j)+"|+|";
}
======================================================================
导出的时候怎么转换一下编码不出乱码?请高手指点,感谢!

解决方案 »

  1.   

    1.首先:保证在数据库中保存的文字是中文的。(查看数据库中保存的记录)   
    2.其次:保证所输出的页面已经使其为能够显示中文的(设置其contentType)。   
    3.如果以上条件均符合,但仍为乱码,那么可以考虑编码转换。oracle支持unicode,为什么不全部使用unicode呢   
    这样管它什么文字都可以显示了,各种文字混在都没有关系
      

  2.   

    windows运行:regeditHKEY_LOCAL_MACHINE\ 
      
      SOFTWARE\ORACLE\NLS_LANG :AMERICAN _ AMERICA. ZHS16GBK)。 就是注册表里找到NLS_LANG,把值改为AMERICAN_AMERICA.ZHS16GBK 试下看,应该可以的。我以前解决你这样的问题就是这样的。
    如果不行,改为AMERICAN_AMERICA.US7SCII 看看。
      

  3.   

    程序要在linux服务器下运行啊,高手快帮帮我吧