您好,欢迎访问一九零五行业门户网

分享一个js向Action传中文参数时出现乱码的问题以及如何解决

action获取jsp表单中的中文参数,只要整个项目都采用utf-8编码格式都不会出现乱码问题;但jsp中用到js,并从js向action传中文参数,就会出现中文乱的现象
做项目的时候,发现action获取jsp表单中的中文参数,只要整个项目都采用utf-8编码格式都不会出现乱码问题;但jsp中用到js,并从js向action传中文参数,就会出现中文乱的现象。几经询问百度,上面说法很多。 
经过实践发现下面的方法可以解决中文乱码问题: 
jsp的js中:中文参数用encodeuri(encodeuri(中文参数)),经过两次转码。例如:
function show(next,id,realname){ document.forms['f2'].action="usersearchnextpage?next="+next+"&id="+id+"&realname="+encodeuri(encodeuri(realname)); document.forms['f2'].submit(); }
其中 realname是中文参数。故在提交的url中将realname转码两次。encodeuri(encodeuri(realname))
action中:接收中文参数时解码。用:java.net.urldecoder.decode(realname,"utf-8");
如:
string realname = servletactioncontext.getrequest().getparameter("realname"); try { realname = java.net.urldecoder.decode(realname,"utf-8"); } catch (unsupportedencodingexception e1) { e1.printstacktrace(); }
经过上述处理,问题解决。
以上就是分享一个js向action传中文参数时出现乱码的问题以及如何解决的详细内容。
其它类似信息

推荐信息