今天遇到了java后台模擬http請求,以POST方式傳參中文亂碼,google了一下,大部分是在打開的HttpURLConnection的輸入流的時候設置編碼(utf-8),按照設置,試了下並沒有解決問題,想了下原理,我本身就是全UTF-8環境,不設置utf-8,應該是也是utf-8的流。
沒辦法就自己截取了一個頁面post請求看了下,發現其requestHeader是
("Content-Type","application/x-www-form-urlencoded; charset=UTF-8")。
所以應該是POST的form沒有轉碼的問題,在后台請求的HttpURLConnection中做如下設置:
urlConnection.addRequestProperty("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");