>Java >Java베이스 >Java에서 잘못된 값 전송에 대한 솔루션

Java에서 잘못된 값 전송에 대한 솔루션

尚
원래의
2019-12-12 16:33:182085검색

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으로 문의하세요.