解决路径传参的乱码问题

本文介绍了前后端如何处理URL中的中文字符,通过编码与解码确保数据正确传递。包括使用JavaScript的encodeURI与decodeURI方法,及Java的URLDecoder与URLEncoder类。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、前台编码,后台解码
前台加密
这里写图片描述
注:encodeURIComponent方法可以对这些字符进行编码:”:”、”/”、”;” 和 “?”

后台解码
这里写图片描述

2、后台直接解码(java的解决办法)
这里写图片描述
我的代码例子
if (StringUtils.isNotBlank(name)) {
try {
name = new String(name.getBytes(“iso-8859-1”), “UTF-8”);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
3.前台双重编码设定
前台
encodeURI(encodeURI(name ))
后台
name = URLDecoder.decode(name, “UTF-8”);

补充:
当以url的形式(url?param=…)传递参数时,如果传递的中文字符串那么在接收的时候是乱码形式。
JavaScript:
encodeURI(value):将value转换成utf-8,
decodeURI(value):将utf-8的value反转成字符串。
Java:
URLDecoder.decode(value, “utf-8”);
URLEncoder.encode(value, “utf-8”);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值