java URL亂碼的解決辦法
平常我們都是encode 一次,然后直接接受參數(shù)
String para = request.getParameter(paramName); 這是因為容器自動能幫我們解碼 (DECODE)
一般來說, encode 的時候,使用的 UTF-8(系統(tǒng)的 編碼) 那么解碼的時候也是使用 UTF-8的話, 那么不會出現(xiàn)傳說中的亂碼~
但是如果 在JSP 頁面 使用的UTF-8,但是 容器 解碼的時候 使用的 別的編碼的話,則有可能出現(xiàn)亂碼
這個時候.一般可以使用:
String param = new String(request.getParameter(paramName).getBytes("ISO-8859-1"),"UTF-8");
也能出來.
所有的手段都使了.還是搞不定怎么辦?
怎么解決這種多服務(wù)器導(dǎo)致的 編碼 問題:
假設(shè) 字符串: = "陽";
Encode 一次 %E9%98%B3
Encode 兩次 %2525E9%252598%2525B3
在第二次的時候 ,容器自動解的這一次,不管是按 GBK 還是 UTF-8 還是 ISO-8859-1 都好,都能夠正確的得到 %E9%98%B3
那么 只要自身在進(jìn)行 Decode 一次 就能得到 "陽"
相關(guān)文章
springboot整合activity自動部署及部署文件命名流程
這篇文章主要介紹了springboot整合activity自動部署及部署文件命名流程,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-09-09mybatis注解動態(tài)sql注入map和list方式(防sql注入攻擊)
這篇文章主要介紹了mybatis注解動態(tài)sql注入map和list方式(防sql注入攻擊),具有很好的參考價值,希望對大家有所幫助。2021-11-11java Apache poi 對word doc文件進(jìn)行讀寫操作
這篇文章主要介紹了Apache poi 對word doc文件進(jìn)行讀寫操作的相關(guān)資料,需要的朋友可以參考下2017-01-01Java實現(xiàn)微信公眾號自定義菜單的創(chuàng)建方法示例
這篇文章主要介紹了Java實現(xiàn)微信公眾號自定義菜單的創(chuàng)建方法,結(jié)合實例形式分析了java創(chuàng)建微信公眾號自定義菜單的具體步驟、實現(xiàn)方法及相關(guān)操作注意事項,需要的朋友可以參考下2019-10-10Java編程Socket實現(xiàn)多個客戶端連接同一個服務(wù)端代碼
這篇文章主要介紹了Java編程Socket實現(xiàn)多個客戶端連接同一個服務(wù)端代碼,具有一定參考價值,需要的朋友可以了解下。2017-11-11詳解SpringBoot 創(chuàng)建定時任務(wù)(配合數(shù)據(jù)庫動態(tài)執(zhí)行)
本篇文章主要介紹了SpringBoot 創(chuàng)建定時任務(wù)(配合數(shù)據(jù)庫動態(tài)執(zhí)行),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-10-10Springboot整合Dozer實現(xiàn)深度復(fù)制的方法
Dozer是一種Java?Bean到Java?Bean的映射器,遞歸地將數(shù)據(jù)從一個對象復(fù)制到另一個對象,它是一個強大的,通用的,靈活的,可重用的和可配置的開源映射框架,本文給大家介紹Springboot整合Dozer的相關(guān)知識,感興趣的朋友跟隨小編一起看看吧2022-03-03