java URL亂碼的解決辦法_java

來源:互聯網
上載者:User

平常我們都是encode 一次,然後直接接受參數

String para = request.getParameter(paramName);  這是因為容器自動能幫我們解碼 (DECODE)

一般來說,  encode 的時候,使用的 UTF-8(系統的 編碼)  那麼解碼的時候也是使用   UTF-8的話, 那麼不會出現傳說中的亂碼~

但是如果 在JSP 頁面 使用的UTF-8,但是  容器 解碼的時候 使用的 別的編碼的話,則有可能出現亂碼

這個時候.一般可以使用:

String  param = new String(request.getParameter(paramName).getBytes("ISO-8859-1"),"UTF-8");

也能出來.

所有的手段都使了.還是搞不定怎麼辦?

怎麼解決這種多伺服器導致的 編碼  問題:

假設 字串:  = "陽";

Encode  一次  %E9%98%B3

Encode  兩次   %2525E9%252598%2525B3

在第二次的時候 ,容器自動解的這一次,不管是按 GBK 還是 UTF-8 還是 ISO-8859-1 都好,都能夠正確的得到 %E9%98%B3

那麼 只要自身在進行 Decode 一次  就能得到  "陽"

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.