我现在有点怀疑JDBC与数据库通讯时就有点失”失真“,可能没有用UNICODE/UTF8方式来传递数据,不知道怎么知道JDBC是否按UNICODE/UTF8方式来传数据。
解决方案 »
- 如何在 查询分析器中插入数据?
- JSP读取PHP生成的cookies中的中文信息乱码!
- JSP+JBOSS+ORACLE 分页显示的问题
- 为什么我的 TOMCAT 无法startup了
- 用jsp连接db2和oracle需要怎么做?
- 关于javabeans最后的检测
- 我从网上下载了jakarta-poi-1.5.1-final-20020615.jar请问该如何配环境
- 还是jsp oracle8.1.6中文问题
- JDBC的疑问?
- 两个LIST进行循环判断得出的数据如何在EXT-Grid中显示?
- 我用的Tomcat,怎么别人不能访问我的index.jsp,而其它jsp页面可以呀。
- tomcat下找不到servlet!!!
password=new String(rset.getString("password").getBytes("gb2312")); 改成
password=new String(rset.getString("password").getBytes("8859_1"),"GBK"); 不妨试试
这条语句就出现异常。
其实我用return getprototype(new String("?隹H?"));能得到正确的结果,正确的结果应该是:123321(getprototype方法返回传进去的密文的明文),但从数据库里取出的密文放到这里调用却得不到正确的结果,所以我想可能是从数据库到程序中的数据传递出了变化。
这样就可以rset.first();了
rset.getString(password);
不需要转码,如果还是不行,请说明所用系统,语言。
jdk1.2.2
oracle 8.1.7.0.1
oracle 字符集为:ZHS16CGB231280
rset.getBytes("password")
既然return getprototype(new String("?隹H?"));能出现正确结果,就看你从数据库去出的password对不对了,调试一下吧,实在不行就多进行几次转换,看怎么转换正确。
另外有没有可能你存进去的时候计算之前password的字符集有问题呢?