读书人

js 中文转码解决办法

发布时间: 2012-05-23 13:44:13 作者: rapoo

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楼的回答很好
[解决办法]
接分....
[解决办法]
来接分了

读书人网 >Java Web开发

热点推荐