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的方式取,不会出现乱码了,效果是一样的
相关推荐
Guanjs0 2020-11-09
wmsjlihuan 2020-09-15
shishengsoft 2020-09-15
poplpsure 2020-08-17
CyborgLin 2020-08-15
Richardxx 2020-07-26
sunnyhappy0 2020-07-26
knightwatch 2020-07-19
wcqwcq 2020-07-04
chichichi0 2020-06-16
YAruli 2020-06-13
JF0 2020-06-13
84423067 2020-06-12
心丨悦 2020-06-11
zkwgpp 2020-06-04
stoneechogx 2020-06-04
litterfrog 2020-05-30
today0 2020-05-26