HttpURLConnection 傳參數 避免亂碼

針對 咱們想傳入 「海賊王」 這個詞給服務器時,一般客戶端的編碼方式和服務器端是不同的。java


  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, 獲得參數 Acode

  6. A = getParameter("name")
  7. 最後服務程序對參數A進行utf-8解碼,獲得 "海賊王" 這個詞utf-8

  8. realName = URLDecoder.decode(A, "UTF-8")
總結:第5步,爲何服務器用任何一種解碼方式對 utf-8格式的參數解碼都會獲得 utf-8格式的 A參數?
相關文章
相關標籤/搜索