>  기사  >  Java  >  Java에서 json 전송 데이터가 왜곡되는 문제

Java에서 json 전송 데이터가 왜곡되는 문제

尚
원래의
2019-12-30 09:24:073537검색

Java에서 json 전송 데이터가 왜곡되는 문제

Java에서 JSON 전송 데이터가 왜곡되는 문제에 대한 솔루션: (권장: java 비디오 튜토리얼)

1 먼저 매개변수를 ISO-8859-1로 인코딩한 다음 utf-8

    @RequestMapping(method=RequestMethod.GET)
    @ResponseBody
    public ResponseEntity<ResultModel> searchBorrows(String borrow_name) 
    throws UnsupportedEncodingException{
           //解决乱码问题
         System.out.println("编码前===:"+borrow_name);//乱码
         String borrowName=new String(borrow_name.getBytes("ISO-8859-1"),"utf-8");
         System.out.println("编码后:========="+borrowName);//正常
로 디코딩합니다.

2. 일반적인 요청인 경우(ajax가 아닌 json** 요청이 깨짐**, 웹에서 직접 중국어 필터를 구성하세요. :request.setCharacterEncoding("UTF-8");

참고: tomcat8이 깨진 문제를 해결했습니다. 요청 가져오기 문제가 발생했는데 tomcat7은 여전히 ​​이 문제를 스스로 해결해야 합니다


3. ajax의 json 데이터가 깨졌습니다

때때로 프로젝트에 비동기가 필요합니다. 요청하려면 어댑터와 매퍼 태그에 두 개의 변환기를 추가할 수 있습니다. json 데이터 요청 및 응답에서 잘못된 코드를 해결할 수 있는 springmvc 구성 파일의 주석 구현(Tomcat 인코딩이 변경되지 않은 경우 여전히 잘못된 코드 문제가 있으며 모든 잘못된 코드가 여러 측면에서 나타납니다).

다음은 json 데이터 요청 및 응답 문자 왜곡 문제를 해결하기 위해 spinngmvc에서 두 개의 json 변환기를 구성하는 것입니다.

<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에서 json 전송 데이터가 왜곡되는 문제의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.