copy地址:
http://blog.csdn.net/dangerous_fire/article/details/25904225
第一种解决方法,适用所有情况
因为在controller中返回json用了@ResponseBody,而spring源码中@ResponseBody 的实现类发现其默认的编码是 iso-8859-1,而项目用的编码为utf-8,所以传中文会出现乱码,解决办法是不用注解,直接用response,转换编码。
@RequestMapping("/modifyconfiginput")
@ResponseBody
public String modifyinput( @RequestParam(value="id") String id,
@RequestParam(value="timestamp") String timestamp,
HttpServletResponse response ) throws Exception {
ImmediateConfig ic = this.immediatePictureService.findImmediateConfig(id);
String json = "["+"{name:'"+ic.getName()+"',classId:'"+ic.getProductClass().getClassId()+"',pyFile:'"+ic.getPyFile()+"'}]";
System.out.println("json:"+json);
//return json;
// 设置response的ContentType解决中文乱码
response.setContentType("text/html;charset=UTF-8");
response.getWriter().print(json);
return null;
}
第二种解决方法,可用于新版本的spring
@RequestMapping(value="/ajaxCounterList", produces = "application/json; charset=utf-8")
注意:在IE浏览器中必须声明返回的类型,如下
@RequestMapping(value="/upload/upload",produces="text/html;charset=UTF-8")
或者用第一种方法,但也要声明为 text/html 类型,否则IE无法识别,会报错误
我是橄榄绿
分享到:
相关推荐
- **发送请求时**:确保Ajax请求的`Content-Type`头设置为`application/json;charset=UTF-8`。 - **接收响应时**:前端接收服务器返回的JSON数据时,确保解析前的编码是正确的。例如,在jQuery中可以通过`$.ajax({...
- **JSON 对象绑定**:Spring 支持直接将 JSON 字符串转换为 Java 对象。 ```java @RequestMapping(value = "/ajax", method = RequestMethod.POST) @ResponseBody public String handleAjaxRequest(@RequestBody ...
前端可以通过AJAX技术(如jQuery的$.ajax()方法)发送异步请求,并处理后端返回的数据。 如何解决POST请求中文乱码问题,GET的又如何处理呢? - 对于POST请求,可以在web.xml中配置字符编码过滤器,确保所有请求都...
- **重定向**:在控制器方法中返回一个字符串"redirect:/url"。 - **转发**:返回一个视图名称,SpringMVC会自动进行转发处理。 ##### 3.3 SpringMVC怎么和AJAX相互调用的? SpringMVC支持通过AJAX进行异步请求处理...
JSON格式的数据本质上是以字符串的形式存在,因此,当服务器端生成JSON字符串时,使用的编码格式就至关重要。 在上述描述中,开发者遇到了一个典型的编码问题。具体问题出现在使用了SpringMVC框架的开发场景中,在...
在接收到请求参数时,你可以使用`new String(bytes, "UTF-8")`的方式来转换字符串的编码。例如,在`@RequestParam`注解的参数前,你可以先获取原始的字节数组,然后用`getBytes("ISO-8859-1")`将其转换为ISO-8859-1...
- **处理返回值**:Spring MVC支持直接返回字符串类型的结果,这些结果会被自动转换成JSON格式发送给客户端。 ```java @ResponseBody public String submit(...) { return "{\"status\":\"success\"}"; } ```...
SpringMVC可以自动地使用诸如Jackson或Gson等库将Java对象转化为JSON字符串。开发者也可以自定义转换过程。 4. 实现后端向前端传递JSON数据: 在本实例中,后端使用@RequestBody注解获取JSON格式的输入数据,然后...
- **URL编码**:对于GET请求中的URL参数,可以通过JavaScript中的`encodeURIComponent()`函数对中文字符串进行编码,防止传输过程中出现乱码。 - **AJAX请求**:使用jQuery等库的`$.ajax()`方法时,可以在请求头中...