js java中文转码 适用于用url传递中文参数

本文介绍了两种解决前端向后台传递中文参数时出现乱码的方法。第一种方法是在JavaScript中使用两次encodeURI进行编码,并在服务器端使用URLDecoder进行解码。第二种方法是使用encodeURIComponent进行编码,然后在后台通过特定步骤进行解码。

第一种方法

解决方法如下:

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.youkuaiyun.com/Seven_23/archive/2009/09/02/4510670.aspx

第二种方法

前台login_name = encodeURIComponent(login_name);  这样的 编码一次

action中
    String temp = new String(keyword.getBytes("ISO-8859-1"),"utf-8");
    keyword = URLDecoder.decode(temp, "utf-8");

keyword 是参数名

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值