URLEncoder/URLDecoder (使用Post 收发数据注意编码问题)

一、java.net.URLEncoder.encoder()编码

 

在使用客户端Post  发送了一段数据

xHttp.post(szURL, “crackren+001” ); 

 

在服务端Servlet中收到的数据却变成了

"crackren 001" 把加号给我过滤了。

 

但是由于加密方式我又必须要用到这些符号,

所以在发送数据时最好使用java.net.URLEncoder.encoder();编码:

xHttp.post(szURL, java.net.URLEncoder.encoder(“crackren+001”, “UTF-8”));

 收到数据后就会变成"crackren+001"了

 

不光加号,诸如字符: / & ? @ # ; $ + = 和 %也可以被使用,但是它们各有其特殊的用途,这些字符和所有其他字符就应该被编码。

 

二、java.net.URLDecoder.decode()解码

 

但是如果发送的数据中有中文的话经过编码,服务器收到就会出现乱码,所以我们要先把收到的数据解码.

正常使用java.net.URLDecoder.decode()来解码。

但是request中的数据真不知道怎样取出后使用URLDecoder来解码,谁要是知道的话给我说一下,

我是在Servlet 收到数据时可以直接使用request.setCharacterEncoding("utf-8");设置编码。

这样取出来的数据就会按照utf-8的方式取,不会出现乱码了,效果是一样的

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值