色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術文章
文章詳情頁

java中servlet過濾器解決中文亂碼問題的一絲疑惑,這里必須要用entrySet遍歷嗎?

瀏覽:106日期:2023-11-14 17:11:21

問題描述

網上查到的關于解決中文亂碼問題的過濾器代碼中都有類似下面的這一段:

Map<String,String[]> map = request.getParameterMap();//獲取有亂碼的map if(isNotEncode){//只能在第一次解決亂碼 for(Map.Entry<String, String[]> entry : map.entrySet()){//遍歷map,解決所有值的亂碼 String [] vs = entry.getValue(); for(int i=0;i<vs.length;i++){ vs[i] = new String(vs[i].getBytes('iso8859-1'),encode); } } isNotEncode = false;//設置為false,第二次就不會再進這個代碼塊了 } return map;

這里只是修改了map里面的值集,此值集是String數組的集合,實際只是修改了String數組里的元素。我感覺這里沒有必要取出entrySet并遍歷,只用取出Values并遍歷就可以達到同樣的效果,我親自實踐了一下也證實我的猜想。但是我在網上看到的資料幾乎都是遍歷entrySet,這是為什么?只遍歷值集Values有什么漏洞嗎?望高手解惑!

問題解答

回答1:

你的意思是這樣吧:

for (String[] values : map.values()) { for (int i = 0; i < values.length; i ++) {values[i] = new String(values[i].getBytes(StandardCharsets.ISO_8859_1, encode)); }}

我覺得沒啥不可以的呀。

回答2:

完全沒有必要,見Tomcat的SetCharacterEncodingFilter的源碼

request.setCharacterEncoding(...)

標簽: java
主站蜘蛛池模板: 最新国产精品自拍 | 中文字幕毛片 | 国产免费高清福利拍拍拍 | 久久久久久久久网站 | 国内外成人免费在线视频 | 欧美一级亚洲一级 | 欧美成人精品 | 免费一级美国片在线观看 | 欧美国产成人一区二区三区 | 国产精品1区 | 亚洲99在线的 | 娇喘嗯嗯~轻点啊视频福利 | 亚洲国产高清在线 | 成人性版蝴蝶影院污 | 亚洲天堂网在线播放 | 久草欧美| 中文字幕乱码中文乱码综合 | 欧美一区二区免费 | 国产三级在线视频观看 | 国产精品久久久久久久久久久威 | 91欧美在线| 免费a一毛片 | 精品久久久在线观看 | 欧美日韩一日韩一线不卡 | 日本一在线中文字幕天堂 | 在线播放成人毛片免费视 | 天天看夜夜操 | 欧美一级毛片在线看视频 | 久久精品免费视频观看 | 九九精品视频在线观看 | 97久久精品国产精品青草 | 在线日韩欧美 | 青草青99久久99九九99九九九 | 亚洲精品手机在线 | 91男女视频 | 全球成人网| 俄罗斯黄色毛片 | 91香焦国产线观看看免费 | 亚洲成av人片在线观看 | 日本久操| 黄色a站|