日期:2014-05-20  浏览次数:20651 次

读Oracle数据,中文乱码问题
我用程序把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.首先:保证在数据库中保存的文字是中文的。(查看数据库中保存的记录)
2.其次:保证所输出的页面已经使其为能够显示中文的(设置其contentType)。
3.如果以上条件均符合,但仍为乱码,那么可以考虑编码转换。

oracle支持unicode,为什么不全部使用unicode呢
这样管它什么文字都可以显示了,各种文字混在都没有关系
------解决方案--------------------
关注
------解决方案--------------------
windows运行:regedit

HKEY_LOCAL_MACHINE\
  
  SOFTWARE\ORACLE\NLS_LANG :AMERICAN _ AMERICA. ZHS16GBK)。

就是注册表里找到NLS_LANG,把值改为AMERICAN_AMERICA.ZHS16GBK 试下看,应该可以的。我以前解决你这样的问题就是这样的。
如果不行,改为AMERICAN_AMERICA.US7SCII 看看。