JS传中文乱码解决方法

最近几天做项目时再次遇到头疼的乱码问题,网上所说的方式我基本都试过了,依然不能解决我的问题,加过滤器、设置tomcat编码,统一前台和后台的编码格式这些我都试过了。还是不行郁闷啊!最后终于在一个论坛里看到一种办法,试了一下果然搞定了。记录下来以便以后使用,顺便总结下常用的乱码处理方法:

1.前台js传中文get方式乱码(能用post方式尽量用post方式传值乱码情况少得多)

后台接收参数时: String  param = new String(request.getParameter("param").getBytes("iso-8859-1"),"utf-8");

我的问题使用第二种方法处置完成的 哈哈,

2.前台编码后台解码:

前台在JS里对中文参数进行两次转码
var login_name = document.getElementById("loginname").value;
login_name = encodeURI(login_name);
login_name = encodeURI(login_name);

建议可以直接写成 login_name = encodeURI(encodeURI(login_name));

在服务器端对参数进行解码
String loginName = ParamUtil.getString(request, "login_name");
loginName = java.net.URLDecoder.decode(loginName,"UTF-8"); 

这样就不会乱码了!希望能帮到看文章的人!

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值