一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|JavaScript|易語言|

服務器之家 - 編程語言 - JAVA教程 - 解決SpringMvc后臺接收json數據中文亂碼問題的幾種方法

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

2021-03-28 16:19摯愛冷如煙° JAVA教程

本篇文章主要介紹了解決SpringMvc后臺接收json數據中文亂碼問題的幾種方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下

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

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

解決方案:

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

?
1
2
3
4
5
6
7
8
9
10
11
@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" 的編碼屬性

?
1
2
3
<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)、設置中文過濾

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<!-- 中文編碼 -->
  <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數據轉換

?
1
2
3
4
5
6
7
8
9
10
11
12
13
<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>

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:https://my.oschina.net/shxjinchao/blog/1614756

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 久久精品人人做人人爽97 | 99re这里只有精品视频 | 久久人妻无码毛片A片麻豆 久久热这里只有 精品 | 贤妻良母电影日本 | 成人私人影院www片免费高清 | 亚洲欧美久久婷婷爱综合一区天堂 | 亚洲男人天堂 | 欧美黑人成人免费全部 | 四虎国产精品免费久久久 | 久久全国免费久久青青小草 | 日本免费在线观看 | 男人j放进女人的p视频免费 | 欧美vpswindows动物 | www视频免费观看 | 欧美成人禁片在线观看俄罗斯 | 京东热dj6666 | 日韩资源| 高清男的插曲女的 欢迎你老狼 | 免费观看网站 | 国产精品怡红院在线观看 | 韩国女主播在线大尺无遮挡 | zozo日本另类极品 | 久久国产精品永久免费网站 | 99精品视频在线观看 | 久久精品嫩草影院免费看 | 欧美一二| 亚洲国产成人精品不卡青青草原 | 门房秦大爷最新章节阅读 | 扒开双腿疯狂进出爽爽动态图 | 18young第一次 | 成人免费淫片95视频观看网站 | 国产午夜精品一区二区三区不卡 | 52zfl宅福利yxpjw | 亚洲玖玖| porno美国xxxx| 精品四虎国产在免费观看 | 亚洲国产精品二区久久 | 欧亚尺码专线欧洲s码wmy | 国产激情视频 | 色图片小说| 精品无码久久久久久久久 |