作者:小群群zheng | 来源:互联网 | 2023-05-19 18:57
点击后打开新页面,用户登录!用户名为中文时,火狐、google浏览器无问题,但IE有乱码问题:问题代码:<ahrefmember!sysLogin.do?name${me
点击后打开新页面,用户登录!用户名为中文时,火狐、google浏览器无问题,但IE有乱码问题:
问题代码:
登录
超链接形式的传参,都是Get方式!
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;
}
修改成功:
登录
function toSysLogin(name){
var uriname="member!sysLogin.do?name="+name;
window.open( encodeURI(uriname));
}
public String sysLogin(){
try{
this.setName(java.net.URLDecoder.decode(name, "UTF-8"));// 此处转码
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;
}
问题解决!
encode编码
decode解码