`
CrackRen
  • 浏览: 167606 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

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

    博客分类:
  • Java
阅读更多

一、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的方式取,不会出现乱码了,效果是一样的

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics