HttpURLConnection 传参数 避免乱码

针对 我们想传入 “海贼王” 这个词给服务器时,通常客户端的编码方式和服务器端是不一样的。


  1. 把"海贼王"进行utf-8编码,得到新的参数 A.

  2. A = URLEncoder.encode("海贼王","UTF-8")
  3. 再次对A(utf-8格式)进行utf-8编码,得到新的参数B

  4. B = URLEncoder.encode(A,"UTF-8")
  5. 服务程序,在调用getParamter向服务器请求参数时,服务器不管三七二十一,拿到B参数之后,先用它自己的方式(utf-8, gbk, iso-8859)解码参数B, 得到参数 A

  6. A = getParameter("name")
  7. 最后服务程序对参数A进行utf-8解码,得到 "海贼王" 这个词

  8. realName = URLDecoder.decode(A, "UTF-8")
总结:第5步,为什么服务器用任何一种解码方式对 utf-8格式的参数解码都会得到 utf-8格式的 A参数?

你可能感兴趣的:(HttpURLConnection 传参数 避免乱码)