>웹 프론트엔드 >JS 튜토리얼 >springmvc에서 ajax를 보낼 때 중국어 문자가 깨졌을 때 처리하는 방법

springmvc에서 ajax를 보낼 때 중국어 문자가 깨졌을 때 처리하는 방법

php中世界最好的语言
php中世界最好的语言원래의
2018-04-04 17:12:251507검색

이번에는 springmvc에서 ajax를 보낼 때 중국어 깨짐을 처리하는 방법을 보여드리겠습니다. springmvc에서 ajax를 보낼 때 중국어 깨짐을 처리할 때 주의 사항은 무엇입니까?

spingmvc를 사용하여 JS에서 ajax를 통해 요청을 보내고 json 형식으로 데이터를 반환합니다. 데이터베이스에서 가져올 때는 중국어 형식이 올바른데 페이지에 표시되면 잘못된 것인가요? ? , 약간의 연구 끝에 몇 가지 해결책이 있습니다.

저는 sping-web-3.2.2를 사용하고 있습니다.jar

방법 1:

추가 generate = "text/html;charset=UTF-8" in @RequestMapping

@RequestMapping(value = "/configrole", method = RequestMethod.GET, produces = "text/html;charset=UTF-8") 
public @ResponseBody String configrole() { 
 ...... 
}

방법 2:

StringHttpMessageConverter의 기본 문자 집합은 ISO-8859-1이기 때문에
소스코드를 구해서 UTF-8로 수정하고 spring-web-3.2.2.jar에 패키징했습니다

public class StringHttpMessageConverter extends AbstractHttpMessageConverter<String> 
{ 
 public static final Charset DEFAULT_CHARSET = Charset.forName("UTF-8"); 
 .......... 
}

방법 3:

org.springframework.http.MediaType의 constructor 메서드 매개변수를 수정하고

public MediaType(String type, String subtype, Charset charset) { 
  super(type, subtype, charset); 
}

Xml 코드 구성을 applicationContext-mvc.xml

<bean id="stringHttpMessageConverter" 
  class="org.springframework.http.converter.StringHttpMessageConverter"> 
  <property name="supportedMediaTypes"> 
    <list> 
      <bean class="org.springframework.http.MediaType"> 
        <constructor-arg value="text" /> 
        <constructor-arg value="plain" /> 
        <constructor-arg value="UTF-8" /> 
      </bean> 
    </list> 
  </property> 
</bean>
에 추가합니다. 방법 4

org.springframework.http.converter.StringHttpMessageConverter 클래스는 요청이나 그에 상응하는 strings

을 처리하는 클래스이고 기본 문자셋은 ISO-8859-1이므로 반환된 json에 중국어가 있을 경우, 왜곡된 문자가 나타납니다.

StringHttpMessageConverter가 지원하는 MediaType 유형을 저장하는 데 사용되는 StringHttpMessageConverter의 상위 클래스에는 ListsupportedMediaTypes 속성이 있으며, 처리해야 하는 MediaType 유형이 supportMediaTypes 목록에 없는 경우 기본 문자 집합이 사용됩니다.

해결책은 구성 파일

에 다음 코드를 추가하는 것입니다.

<mvc:annotation-driven>
<mvc:message-converters>
 <bean class="org.springframework.http.converter.StringHttpMessageConverter">
<property name="supportedMediaTypes">
<list>
 <value>application/json;charset=UTF-8</value>
</list>
</property>
</bean>
</mvc:message-converters>
</mvc:annotation-driven>
다른 MediaType 유형을 처리해야 하는 경우 목록 태그에 다른 값 태그를 추가할 수 있습니다.

다음 코드를 마스터하신 것 같습니다. 이 기사의 사례를 읽어보세요. 정말 흥미롭습니다. PHP 중국어 웹사이트의 다른 관련 기사도 주목해 주세요!

추천 도서:

Ajax에 비동기를 요청하는 방법은 무엇인가요?

사용방법 AJAX의 XMLHttpRequest 객체 사용에 대한 자세한 설명

🎜

위 내용은 springmvc에서 ajax를 보낼 때 중국어 문자가 깨졌을 때 처리하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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