Oracle 查询结果乱码解决

目前有一个系统JDBC查询做了简单的封装,其中面对的字符串的查询 rs.getString("xxx");
可是现在这个系统面对一个数据库,而且对方的数据库编码是英文编码这样查询的结果都是乱码?

1.如果像下面这么做的话在每个结果集地方都得转换一个,代码的改动量太大

new String(rs.getString.getBytes("ISO-8859-1"),"GB18030");

请教高手有没最小的改动来实现字符转换?

加个编码过滤器

对于Oracle Enterprise Manager中的所有工具,有一个配置文件名为dbappscfg.properties,修改该文件即可解决上述问题。这个文件的位置在$ORACLE_HOME\sysman\config目录下,用任何的文本编辑器打开该文件,在这个文件里面,找到这样一项,

SQLPLUS_NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1

  去掉注释符#,同时将其修改为SQLPLUS_NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

封装一个方法来专门处理这个问题嘛

不修改既有的代码的前提下,并且你从数据库中取出的数据封装到bean中,那么你可以尝试使用spring aop,在调用目标方法之后,修改编码方式。