在做JavaWeb時,總是時不時的會遇到中文傳值亂碼問題,在你把所有」ISO-8859-1」改成「UTF-8」發現還是沒什麼用。於是我就找到了一個百試百靈的方法(至少目前我是),就是強行轉換成「UTF-8」編碼。看程式碼:
@RequestMapping("/success.html") public String success(String userCode, Model model) { try { // 编码转换,防止中文乱码 userCode = new String(userCode.getBytes("ISO-8859-1"), "UTF-8"); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } log.info("userCode:" + userCode); model.addAttribute("userCode", userCode); return "success"; }
還有一個方法是在設定web.xml檔裡加入一個編碼過濾器,也能實作中文傳值時不亂碼。
<!-- 编码过滤器 --> <filter> <filter-name>encodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> </filter> <filter-mapping> <filter-name>encodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
更多java知識請關注java基礎教學欄位。
以上是java傳值亂碼解決方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!