這篇文章主要介紹了如何解決SpringMvc后臺接收json數(shù)據(jù)中文亂碼的問題,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
創(chuàng)新互聯(lián)建站服務項目包括延邊朝鮮族網(wǎng)站建設、延邊朝鮮族網(wǎng)站制作、延邊朝鮮族網(wǎng)頁制作以及延邊朝鮮族網(wǎng)絡營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關系等,向廣大中小型企業(yè)、政府機構等提供互聯(lián)網(wǎng)行業(yè)的解決方案,延邊朝鮮族網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務的客戶以成都為中心已經(jīng)輻射到延邊朝鮮族省份的部分城市,未來相信會繼續(xù)擴大服務區(qū)域并繼續(xù)獲得客戶的支持與信任!
1、使用ajax從前臺頁面?zhèn)鬏敂?shù)據(jù)到后臺controller控制器的時候,出現(xiàn)中文亂碼(問號???)。
之前在網(wǎng)上找了各種解決方案,都行不通,最后發(fā)現(xiàn)是tomcat服務器接收數(shù)據(jù)的問題
解決方案:
方式一:在controller接收參數(shù)時,對參數(shù)進行轉(zhuǎn)碼
@ResponseBody @RequestMapping(value="/getJsonDataByCityName",produces="application/json") public String getJsonByName(HttpServletRequest request,HttpServletResponse response,@RequestParam String city_name)throws ServletException,IOException { //response.setContentType("text/html;charset=UTF-8"); //request.setCharacterEncoding("UTF-8");//解決post亂碼問題 System.out.println(request.getCharacterEncoding()); city_name = new String(city_name.getBytes("ISO-8859-1"), "UTF-8"); System.out.println("city_name:"+city_name); }
方式二:
配置tomcat目錄下的service.xml文件
tomcat7/conf/server.xml
給該行代碼加上 URIEncoding="UTF-8" 的編碼屬性
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8" />
原因分析:
其實亂碼問題出現(xiàn)的原因,就是由于默認的tomcat配置,接收請求是以ISO-8859-1來轉(zhuǎn)碼,導致中文出現(xiàn)了亂碼問題,只要能正確的以utf-8來轉(zhuǎn)碼,則可以解決亂碼問題。
2、普通數(shù)據(jù)傳輸,從jsp頁面?zhèn)鞯胶笈_controller,中文亂碼問題解決方案
(1)、首先檢查jsp頁面編碼格式是否是utf-8
(2)、設置中文過濾
<!-- 中文編碼 --> <filter> <filter-name>characterEncodingFilter</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> <init-param> <param-name>forceEncoding</param-name> <param-value>true</param-value> </init-param> </filter> <filter-mapping> <filter-name>characterEncodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
(3)、springMvc配置文件中設置JSON數(shù)據(jù)轉(zhuǎn)換
<mvc:annotation-driven> <mvc:message-converters register-defaults="true"> <!-- 啟動Spring MVC的注解功能,完成請求和注解POJO的映射 注解請求映射 默認是ISO-88859-1,避免亂碼這里設置為UTF-8 --> <bean class="org.springframework.http.converter.StringHttpMessageConverter"> <property name="supportedMediaTypes" value="text/html;charset=UTF-8" /> </bean> <!-- 啟動JSON格式的配置,自動將格式轉(zhuǎn)換成JSON格式,不需要其他類 --> <bean id="jacksonMessageConverter" class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"> <property name="supportedMediaTypes" value="application/json;charset=UTF-8" /> </bean> </mvc:message-converters> </mvc:annotation-driven>
感謝你能夠認真閱讀完這篇文章,希望小編分享的“如何解決SpringMvc后臺接收json數(shù)據(jù)中文亂碼的問題”這篇文章對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯(lián),關注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關知識等著你來學習!
名稱欄目:如何解決SpringMvc后臺接收json數(shù)據(jù)中文亂碼的問題
本文地址:http://chinadenli.net/article10/jgcsgo.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營銷、自適應網(wǎng)站、定制開發(fā)、網(wǎng)站建設、小程序開發(fā)、響應式網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)