js 中文转码
JS代码如下,通过get方式传中文参数,action中取值有乱码,用decodeURIComponent,decodeURI方法试过没有效果。到底怎么样才能传递中文?帮助解答者,不胜感激
JScript code
function dialogFun(){
var fdName = document.getElementsByName("fdName")[0].value;
var url="<c:url value="/lx/lxdoc/lx_ment/lxDpet.do?method=addFolder&fdParentId=${lxdoc.fdParentId}&fdlxName="/>"+fdName;
str = window.showModalDialog(url,'','dialogWidth:500px; dialogHeight:500px; status:0;scroll:0; help:0');
}
fdName的值是一个中文,传递过去有乱码
------解决方案--------------------乱码问题一般的解决方法是做个过滤器!如仍然有乱码的话那就得改tomcat的配置文件啦!
------解决方案--------------------
因为页面请求方式是get 没走过滤器 建议用如下的方法
在你的action里可以这样接收
String fdName=new String(request.getParameter("fdName").getByte("iso-8859-1"),"utf-8");
------解决方案--------------------现在的页面的“相关问题”中还有很多,如果上个不行,再看一下其他的~~
------解决方案--------------------
今天我刚好遇到了相似的问题
解决方法如下:
1、在JS里对中文参数进行两次转码
var login_name = document.getElementById("loginname").value;
login_name = encodeURI(login_name);
login_name = encodeURI(login_name);
2、在服务器端对参数进行解码
String loginName = ParamUtil.getString(request, "login_name");
loginName = java.net.URLDecoder.decode(loginName,"UTF-8");
具体请见http://blog.csdn.net/Seven_23/archive/2009/09/02/4510670.aspx
------解决方案--------------------1.js文件中使用encodeURI()方法。
login_name = encodeURI(encodeURI(login_name));
2.action中URLDecoder解码
loginName = java.net.URLDecoder.decode(loginName,"UTF-8");
------解决方案--------------------呵呵
恭喜
5楼的回答很好
------解决方案--------------------接分....
------解决方案--------------------来接分了