大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學習攻略 Java學習 告訴你Java亂碼怎么解決

告訴你Java亂碼怎么解決

更新時間:2022-05-07 11:11:04 來源:動力節點 瀏覽2318次

java的亂碼問題一直很是煩人,動力節點小編來給大家總結一下。

告訴你Java亂碼怎么解決

1.表單使用post方式提交

這種情況比較好解決,只需在servlet中加入request.setCharacterEncoding("utf-8");即可,當然也可以是其他的編碼方式。

但是必須注意一點:因為在執行第一行request.getParameter();時,servlet已經將所有的參數得到,將他們放到容器中,以后再次執行request.getParameter();去其他參數時,只不過從servlet容器中拿而已。所以request.setCharacterEncoding("utf-8");必須放到第一個request.getParameter();前面,才能確保拿到的參數不會出現亂碼,否則它不會起到任何作用。當然解決post方式提交亂碼的最好方案,還是寫一個過濾器。

2.表單使用get方式提交或使用URL鏈接

這是一種比較復雜的情況,首先瀏覽器會對URL中的中文參數進行編碼,一般是utf-8。然后web容器會對URL中的參數進行解碼,以tomcat為例,在“Connecto”標簽中設置URIEncoding="utf-8",tomcat會對參數進行解碼,這時在servlet中拿到的就是中文。

但往往事與愿違,如果不在tomcat中配置“URIEncoding”時(這種情況恐怕最多),它默認的是“iso-8859-1”,以這種方式解碼,在servlet中肯定是亂碼了。

所以解決get方式亂碼有三種:

第一,在tomcat的“Connecto”標簽中設置URLEncoding="utf-8"。

第二,在servlet中加入一行代碼:String parameter= new String(parameter.getBytes("iso-8859-1"),"utf-8");。

第三,也是最徹底的一種,在提交之前,首先對參數進行兩次編碼。例如使用java的URLEncoder.encode();對參數進行兩次編碼,然后再將參數傳入到頁面;或者使用JavaScript的編碼方式encodeURIComponent() 對參數兩次編碼。這樣做,不管tomcat是何種解碼,都無所謂,這是因為當對參數編了一次碼后,已經是英文了,這時再對它進行一次編碼和解碼,無論是什么編碼和解碼方式,得到的都是第一次編過碼的形式。那么在servlet中只需要用URLDecoder.decode(parameter,"utf-8");,即可得到中文參數。

以上就是關于“告訴你Java亂碼怎么解決”的介紹,大家如果想了解更多相關知識,不妨來關注一下動力節點的Java在線學習,里面的課程內容從入門到精通,細致全面,比較適合沒有基礎的小伙伴學習,希望對大家能夠有所幫助哦。

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 欧洲亚洲视频 | 日本aⅴ网站 | 四虎影视8848a四虎在线播放 | 成人性a激情免费视频 | 国产永久在线观看 | 九九视频精品在线 | 国产福利视频一区 | 天天干天天爱天天操 | 欧美精品亚洲一区二区在线播放 | 国产免费专区 | 免费视频成人国产精品网站 | 亚洲欧美日韩综合在线 | 国产精品高清久久久久久久 | 欧美综合一区 | 久久精品免费大片国产大片 | 黄色片在线观看网址 | 日本一区二区日本免费 | 国产一区二区三区免费观看 | 波霸欧美性猛交xxxxxx | 五月婷婷基地 | 影视先锋av资源噜噜 | 青青青爽线在线视频观看 | 婷婷夜夜躁天天躁人人躁 | 四虎永久免费网站入口2020 | 亚洲国产小视频 | 国产精品情侣久久婷婷文字 | 国产成+人+综合+欧美 亚洲 | 青青青国产免费线在 | 成人精品福利 | 狠狠色噜噜狠狠狠狠97不卡 | 亚洲无总热门 | 毛片站| 亚洲午夜久久影院 | 在线小视频国产 | 一级毛片高清免费播放 | 99精品视频在线 | 波多野结衣亚洲一区 | 美美女高清毛片视频黄的一免费 | 狠狠狠狠狠狠狠狠 | 91精品国产亚一区二区三区 | 综合色桃花久久亚洲 |