栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

解决SpringMvc后台接收json数据中文乱码问题的几种方法

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

解决SpringMvc后台接收json数据中文乱码问题的几种方法

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" 的编码属性


原因分析:

其实乱码问题出现的原因,就是由于默认的tomcat配置,接收请求是以ISO-8859-1来转码,导致中文出现了乱码问题,只要能正确的以utf-8来转码,则可以解决乱码问题。

2、普通数据传输,从jsp页面传到后台controller,中文乱码问题解决方案

(1)、首先检查jsp页面编码格式是否是utf-8

(2)、设置中文过滤


  
    characterEncodingFilter
    org.springframework.web.filter.CharacterEncodingFilter
    
      encoding
      UTF-8
    
    
      forceEncoding
      true
    
  
  
    characterEncodingFilter
    /*
  

(3)、springMvc配置文件中设置JSON数据转换


  
    
    
      
    
    
    
      
    
  

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持考高分网。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/141852.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号