springmvc返回json字符串中文乱码问题
问题:
后台代码如下:
@RequestMapping("menuTreeAjax")
@ResponseBody
/**
* 根据parentMenuId获取菜单的树结构
* @param parentMenuId
* @return
*/
public String menuTreeAjax(Integer parentMenuId) {
JSONArray array = menuService.getTreeMenuByParentMenuId(parentMenuId);
return array.toString();
}
前台代码如下:
$.ajax({
url:'menuTreeAjax?parentMenuId=${menu.menuId}',
async:false,
dataType:"json",
success:function(data){
menuTree=data;
alert(data[0].text);
}
});
发现前台显示的json数据中的中文为???。乱码问题。
原因:
Spring中解析字符串的转换器默认编码居然是ISO-8859-1
如下所示:
解决方法:
方法一,使用(produces = "application/json; charset=utf-8")
@RequestMapping(value="menuTreeAjax", produces = "application/json; charset=utf-8")
@ResponseBody
/**
* 根据parentMenuId获取菜单的树结构
* @param parentMenuId
* @return
*/
public String menuTreeAjax(Integer parentMenuId) {
JSONArray array = menuService.getTreeMenuByParentMenuId(parentMenuId);
return array.toString();
}
方法二:在springmvc.xml配置:
<!-- 处理请求返回json字符串的乱码问题 -->
<mvc:annotation-driven>
<mvc:message-converters>
<bean class="org.springframework.http.converter.StringHttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<value>application/json;charset=UTF-8</value>
</list>
</property>
</bean>
</mvc:message-converters>
</mvc:annotation-driven>
PS:如果返回的不是json,而只是一个字符串,则只需要这样就可以了。将produces改为text/html
@ResponseBody
@RequestMapping(value="webserviceDemo1", produces = "text/html; charset=utf-8")
public String webserviceDemo1(){
WeatherServiceService factory=new WeatherServiceService();
WeatherService service=factory.getWeatherServicePort();
String result=service.getWeatherByCityname("厦门");
return result;
}
springmvc返回json字符串中文乱码问题的更多相关文章
- Spring MVC3返回JSON数据中文乱码问题解决(转)
Spring MVC3返回JSON数据中文乱码问题解决 查了下网上的一些资料,感觉比较复杂,这里,我这几使用两种很简单的办法解决了中文乱码问题. Spring版本:3.2.2.RELEASE Jack ...
- springmvc 通过@ResponseBody 返回json的中文乱码解决方案2个
1.方法上面的RequestMapping要加上红色的部分. @ResponseBody @RequestMapping(value = "/search", prod ...
- 解决springmvc使用@ResponseBody返回String类型字符串中文乱码问题
问题分析: 首先: 确定的是只有当返回值是 String时才会出现中文乱码,而当返回值是Map<String, Object>或者是其它类型时,并没有中文乱码的出现. 然后找原因: 原因是 ...
- SpringMvc @ResponseBody字符串中文乱码原因及解决方案
今天突然发现一个问题,后来在网上也找到了很多解决思路,自己也查找到了问题所在,记录一下. @RequestMapping(value = "/demo1") @ResponseBo ...
- ztree通过ajax加载json数据中文乱码的解决方法:springmvc配置
一.问题描述 使用zTree的异步刷新父级菜单时,服务器返回中文乱码,但项目中使用了SpringMvc,已经对中文乱码处理,为什么还会出现呢? 此处为的异步请求的配置: async: { enable ...
- springMVC返回json数据乱码问题及@RequestMapping 详解
原文地址:https://blog.csdn.net/u010127245/article/details/51774074 一.@RequestMapping RequestMapping是一个用来 ...
- springMVC返回json数据乱码问
在springMVC controller中返回json数据出现乱码问题,因为没有进行编码,只需要简单的注解就可以了 在@RequestMapping()中加入produces="text/ ...
- HttpClient 模拟发送Post和Get请求 并用fastjson对返回json字符串数据解析,和HttpClient一些参数方法的deprecated(弃用)的综合总结
最近在做一个接口调用的时候用到Apache的httpclient时候,发现引入最新版本4.5,DefaultHttpClient等老版本常用的类已经过时了,不推荐使用了:去官网看了一下在4.3之后就抛 ...
- spring mvc返回json字符串的方式
spring mvc返回json字符串的方式 方案一:使用@ResponseBody 注解返回响应体 直接将返回值序列化json 优点:不需要自己再处理 步骤一:在spring- ...
随机推荐
- Celery 源码解析四: 定时任务的实现
在系列中的第二篇我们已经看过了 Celery 中的执行引擎是如何执行任务的,并且在第三篇中也介绍了任务的对象,但是,目前我们看到的都是被动的任务执行,也就是说目前执行的任务都是第三方调用发送过来的.可 ...
- 开篇-我眼中的FPGA
既然是开篇,那就来闲话叨一叨FPGA吧. 掰掰指头,结识FPGA估计有5年多.作为嵌入式工程师,每天的日常充斥着ARM.DSP.操作系统.通讯.总线等耳熟能详的词汇,徜徉其中不能自拔,而这其中,自觉最 ...
- [转载] 十五分钟介绍 Redis数据结构
转载自http://blog.nosqlfan.com/html/3202.html?ref=rediszt Redis是一种面向“键/值”对类型数据的分布式NoSQL数据库系统,特点是高性能,持久存 ...
- [标]ORACLE常用的一些语句记录
--查询实际的统计信息select num_rows,blocks,empty_blocks,avg_space,avg_row_len,sample_size, last_analyzed ...
- HTML5浏览器端图片预览&生成Base64
本文主要介绍如何通过拖拽方式在浏览器端实现图片预览,并生成图片的Base64编码. 工具链接:图片转Base64. 首先介绍一下FileReader, FileReader对象允许浏览器使用File或 ...
- 关于HTML5新手应该知道的几点知识
随着移动互联网的快速发展,HTML5迅速崛起,我们的生活的方方面面都被HTML5渗透着.HTML5在PC端.移动端上均应用广泛,被称为Web的未来.而随着Google正式停止支持Swiffy,HTML ...
- select into
IN 子句可用于向另一个数据库中拷贝表: SELECT * INTO Persons IN 'Backup.mdb' FROM Persons
- Service使用详解
Service是Android系统中的四大组件之一,主要有两个应用场景:后台运行和跨进程访问.Service可以在后台执行长时间运行操作而不提供用户界面,除非系统必须回收内存资源,否则系统不会停止或销 ...
- 实现基于Haproxy+Keepalived负载均衡高可用架构
1.项目介绍: 上上期我们实现了keepalived主从高可用集群网站架构,随着公司业务的发展,公司负载均衡服务已经实现四层负载均衡,但业务的复杂程度提升,公司要求把mobile手机站点作为单独的服务 ...
- Java第二季
1.封装 (1)概念 将类的某些信息隐藏在类的内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问. (2)封装的实现步骤 2.Java中的访问修饰符 3.继承 (1)Ja ...