一、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的方式取,不会出现乱码了,效果是一样的
本文探讨了在使用HTTP POST发送数据时,如何利用Java.net.URLEncoder进行编码,确保特殊字符如加号、斜杠等能正确传递,并在接收端使用URLDecoder进行解码,以避免乱码问题。特别关注了中文字符的处理,通过设置正确的字符编码,确保数据完整性和准确性。
2345

被折叠的 条评论
为什么被折叠?



