做了个项目,做的用户登录,提交用户名和密码到远程服务器,如果一致就返回“loginsuccess”字符串,本地判断如果获取的字符串是“login success”,就提示用户登录成功!
字符串是否一样,用equals,这个是没问题的!而且,我证实获取回来的字符串是“loginsuccess”,可是就是没法跟本地的“login success”一致!
字符串明明一样 为什么equals不一样?
一开始,我想到是不是因为这获取的字符里面是不是有空格,虽然感觉是没有(用眼睛也能看出来),可还是加了trim(),可是依然不行!然后我就想到是不是因为编码的问题!这个不太确定,但我还是试了试!
try {
result=newString(result.trim().getBytes("iso-8859-1"),"UTF-8");
} catch(UnsupportedEncodingException e) {
//TODO Auto-generated catch block
e.printStackTrace();
}
Stringresultbak=null;
try {
resultbak=newString("login success".getBytes("iso-8859-1"),"UTF-8");
} catch(UnsupportedEncodingException e) {
//TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("zqlhhahaha2:"+result+":AA:"+resultbak);
if(result.equals(resultbak))。。。
没想到竟然OK了!