国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > Java > 正文

解決SpringMvc后臺接收json數據中文亂碼問題的幾種方法

2024-07-14 08:39:44
字體:
來源:轉載
供稿:網友

1、使用ajax從前臺頁面傳輸數據到后臺controller控制器的時候,出現中文亂碼(問號???)。

之前在網上找了各種解決方案,都行不通,最后發現是tomcat服務器接收數據的問題

解決方案:

方式一:在controller接收參數時,對參數進行轉碼

@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" />

原因分析:

其實亂碼問題出現的原因,就是由于默認的tomcat配置,接收請求是以ISO-8859-1來轉碼,導致中文出現了亂碼問題,只要能正確的以utf-8來轉碼,則可以解決亂碼問題。

2、普通數據傳輸,從jsp頁面傳到后臺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數據轉換

<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格式的配置,自動將格式轉換成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>

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 鄂托克旗| 奉化市| 丁青县| 安义县| 武川县| 龙门县| 桑植县| 南雄市| 哈巴河县| 乌拉特后旗| 巴林左旗| 泸溪县| 白水县| 云南省| 杂多县| 台北县| 乐昌市| 新乡市| 拜泉县| 墨竹工卡县| 巴南区| 丽水市| 防城港市| 永丰县| 克东县| 南昌市| 鹤峰县| 韩城市| 彭山县| 龙川县| 五指山市| 六枝特区| 年辖:市辖区| 潮州市| 北宁市| 饶阳县| 鹤峰县| 友谊县| 兴和县| 阳曲县| 衡山县|