已经一天了,这个问题还未解决,实在郁闷,哪为大侠能帮帮我,解决后一定给100,谢谢 使用这样看看password=new String(rset.getString("password").getBytes("ISO8859_1"),"GBK"); 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 是的,是字符集的问题,加密后当然只会是这种看不懂的字符,我用PB打开STAFF表,看其中的密文是没有错的,但在JSP中把它取出来就变形了,按道理password的值应该是"?隹H?"(员工密码的密文)但成了"??H?",意思就是这样。 password字段不是字符吧,不能用rset.getString 你的oracle是不是中文编码的?如果是就应该可以直接从oracle sql_plus中直接看password的内容,如果也是乱码,那么可能写进去的时候就已经是乱码了。 我的password字段类型是varchar2型,这个不是什么乱码,是密文,象乱也是正常的。 如果你不能确定是什么字符好像在java中没什么好办法了,不过你可以试试用这样进行比较密码是否正确吧。就是都统一成ISO8859_1这种编码 是的password字段中的内容就是员工密码的密文,我现在得把它取出来解密再与员工输入的密码核对,但在从数据库中取出的时候,密文变了形,就是这个问题。按道理password的值应该是"?隹H?"(员工密码的密文)但成了"??H?",意思就是这样。 是Oracle的客户端与服务器端的字符集不同的原因。其中有一个为8859-1,你可一分别在注册表中看一下。 我的数据库的字符集为:ZHS16CGB231280 你可以把输入的密码加密后变成ISO8859_1这种编码,然后,跟取出来的密码进行比较看看。就是这样吧:你的加密过程(inputpwd).getBytes("ISO8859_1").equals(rset.getString("password").getBytes("ISO8859_1")) 不行,加密是在WINDOWS下的DLL进行的,存储也由PB做的客户端干的。 我的数据库的字符集为:ZHS16CGB231280 如果是这样就用这样看看:password=new String(rset.getString("password").getBytes("ISO8859_1"),"gb2312"); 我的数据库的字符集为:ZHS16CGB231280 呵呵,问一下你PASSWORD你用的什么数据类型呢?有的类型是不够规定字段长度会补点东西,有的呢则自适应……嘿嘿……中文乱码问题?哈哈,我建议你不要看取到的是什么,有的时候显示就是显示成那个样子,你取了解密以后看看解密得对不对,如果对了就根本不用看显示的内容,有的时候JAVA碰到不识别的编码都会显示成“????”,这个很正常,你不要在那里对密文,还是解密以后看结果吧。 数据验证哪种方式用得比较多 JSON接收值的问题?? href中的#? 如何实现显示一条记录点击次数 页面不能正常显示 struts2 内建的email校验报错,新手求指点!!! jsp 哪有J《akarta Struts〉》的免费下载? 一个很郁闷的问题,请哪位高手帮忙,多谢了!! 分页类导入出现路径的错误 关于下载的问题,有兴趣的可以进来讨论讨论 探讨一下asp转为jsp的简捷方法!
如果是就应该可以直接从oracle sql_plus中直接看password的内容,如果也是乱码,那么可能写进去的时候就已经是乱码了。
就是都统一成ISO8859_1这种编码
其中有一个为8859-1,你可一分别在注册表中看一下。
就是这样吧:
你的加密过程(inputpwd).getBytes("ISO8859_1").equals(rset.getString("password").getBytes("ISO8859_1"))
password=new String(rset.getString("password").getBytes("ISO8859_1"),"gb2312");