用户名为中文时,火狐、google浏览器无问题,但IE有乱码问题:
问题代码:
登录
超链接形式的传参,都是Get方式!
Java代码
public String sysLogin(){ try{ name=new String(name.getBytes("iso-8859-1"),"utf-8"); int r = this.memberManager.loginbysys(name); if(r==1){ return "syslogin"; } this.msgs.add("登录失败"); }catch(RuntimeException e){ this.msgs.add(e.getMessage()); } catch (UnsupportedEncodingException e) { this.msgs.add(e.getMessage()); } return this.MESSAGE; }
修改成功:
Java代码
登录 function toSysLogin(name){ var uriname="member!sysLogin.do?name="+name; window.open( encodeURI(uriname)); }
Java代码
public String sysLogin(){ try{ this.setName(java.net.URLDecoder.decode(name, "UTF8"));// 此处转码 name=new String(name.getBytes("iso-8859-1"),"utf-8"); int r = this.memberManager.loginbysys(name); if(r==1){ return "syslogin"; } this.msgs.add("登录失败"); }catch(RuntimeException e){ this.msgs.add(e.getMessage()); } catch (UnsupportedEncodingException e) { this.msgs.add(e.getMessage()); } return this.MESSAGE; }