首頁  >  問答  >  主體

java - 为什么过滤器只可以解决post请求的乱码问题??

PHP中文网PHP中文网2741 天前375

全部回覆(2)我來回復

  • 巴扎黑

    巴扎黑2017-04-18 10:37:18

    並不是只能解決post编码,而是characterEncoding只对body有效。
    http有很多method比如像put方法也是有body的。
    即使你使用post如果url中存在中文query parameters一样需要针对url設定編碼。

    回覆
    0
  • PHP中文网

    PHP中文网2017-04-18 10:37:18

    1、因為很少人用GET方式傳遞中文內容,至於過濾器為什麼只解決POST方式中文傳遞亂碼問題,我想不是技術性的問題,可能是設計者有意為之,希望引導我們多使用POST方式。就好比要求大貨車像客車一樣能載很多人,對於設計大貨車的人而言,他是不會太考慮這樣的狀況。

    2、GET方式傳遞中文亂碼的問題也不是不能解決,解決方法也很簡單,但是不推薦,因這種方法對POST方式不通用。範例程式碼如下:

    String username = request.getParameter("username");
    username = new String(username.getBytes( "iso-8859-1" ), "utf-8");

    回覆
    0
  • 取消回覆