spring3mvc中使用ajax传json中文乱码解决

因为在controller中返回json用了@ResponseBody,而spring源码中@ResponseBody 的实现类发现其默认的编码是 iso-8859-1,而项目用的编码为utf-8,所以传中文会出现乱码,解决办法是不用注解,直接用response,转换编码。
    @RequestMapping("/modifyconfiginput")  
        public @ResponseBody 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;  
        }  

你可能感兴趣的:(spring3mvc中使用ajax传json中文乱码解决)