ajax的返回值一直亂碼,
創新互聯公司是一家業務范圍包括IDC托管業務,雅安服務器托管、主機租用、主機托管,四川、重慶、廣東電信服務器租用,四川樂山服務器托管,成都網通服務器托管,成都服務器租用,業務范圍遍及中國大陸、港澳臺以及歐美等多個國家及地區的互聯網數據服務公司。試過各種ContentType設定utf-8的方法,就是搞不定,
而且明明返回值是json字符串,一直出現ajax取得返回值類型為object。
最后查資料發現,
SpringMVC使用 @ResponseBody注解,返加字符串不做任何處理時,有可能會出現亂碼問題。
這是由于 StringHttpMessageConverter 類中,默認采用的字符集是 ISO-8859-1。
public class StringHttpMessageConverter extends AbstractHttpMessageConverter<String> { public static final Charset DEFAULT_CHARSET = Charset.forName("ISO-8859-1"); |
解決辦法:
那么要解決亂碼問題,需要改變 StringHttpMessageConverter 中的默認字符集,本文中以UTF-8為例。
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"> <property name="messageConverters"> <list> <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"> <property name="supportedMediaTypes"> <list> <value>text/html;charset=UTF-8</value> <value>text/plain;charset=UTF-8</value> <value>application/json;charset=UTF-8</value> </list> </property> </bean> </list> </property> </bean> <!-- mvc:annotation-driven/--> <mvc:annotation-driven validator="validator"/> |
注:配置必須在 <mvc:annotation-driven /> 之前,否則將不會啟效;<mvc:annotation-driven /> 會自動注冊DefaultAnnotationHandlerMapping 與AnnotationMethodHandlerAdapter。 |
另外有需要云服務器可以了解下創新互聯scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
當前題目:ajax返回值json亂碼解決方案-創新互聯
網頁鏈接:http://vcdvsql.cn/article34/giese.html
成都網站建設公司_創新互聯,為您提供網站營銷、用戶體驗、網站制作、網站內鏈、網站排名、建站公司
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯