中文参数传递乱码问题

来源:互联网 发布:充电宝排行知乎 编辑:程序博客网 时间:2024/05/22 14:33
 

1.url后带中文参数,后台服务默认使用utf-8编码,url后面附带参数必须经过转码才能正确传输并解码。

可以在JS里对中文参数进行两次转码

var name = document.getElementById("name").value; name = encodeURI(name);  name = encodeURI(name); 


然后将其带在url后面传输即可,具体测试可以拼装url后在浏览器测试。

 

2.ajax的data中带了中文的参数,中文参数必须经过编码,但是与1不同的是,只需要一次转码即可,不需要两次哦,同样在js中转码:

 

var name = document.getElementById("name").value; name = encodeURI(name); 


 

将该参数封装为

var parameters = {a:'fdfd',b:"ddd"}样式即可,然后parameters传递给data即可。

 

解码:使用Java吧,其他语言类似:

URLDecoder.decode(input, UTF8);

0 0