首頁 >Java >Java基礎 >java傳值亂碼解決方法

java傳值亂碼解決方法

尚
原創
2019-12-12 16:33:182076瀏覽

java傳值亂碼解決方法

在做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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn