layui table中文亂碼

用layui table接收到的後臺數據是中文亂碼。

用的是springmvc,設置和請求和響應還有tomcat都是utf-8還是亂碼。

最後找到原因:

改之前

    @RequestMapping(value = "/querycustom",method = RequestMethod.POST,produces ={"text/html;charset=UTF-8;", "application/json;"})
    @ResponseBody
    public Object queryCustomByWhere(
            @RequestParam("CUS004") String CUS004,
            @RequestParam("industry") String industry,
            @RequestParam("salesman") String salesman,
            @RequestParam("CUS013") String CUS013,
            @RequestParam("CUS009start") String CUS009start,
            @RequestParam("CUS009end") String CUS009end,
            @RequestParam("CUS011start") String CUS011start,
            @RequestParam("CUS011end") String CUS011end
    ) {
        String strWhere = "1=1";
        if (!StringUtils.isEmpty(CUS004))
            strWhere += " AND CUS004='" + CUS004 + "'";
        if (!StringUtils.isEmpty(industry))
            strWhere += " AND CUS010='" + industry + "'";
        if (!StringUtils.isEmpty(salesman))
            strWhere += " AND CUS012='" + salesman + "'";
        if (!StringUtils.isEmpty(CUS013))
            strWhere += " AND CUS013='" + CUS013 + "'";
        if (!StringUtils.isEmpty(CUS009start))
            strWhere += " AND CUS009>='" + CUS009start + "'";
        if (!StringUtils.isEmpty(CUS009end))
            strWhere += " AND CUS009<='" + CUS009end + "'";
        if (!StringUtils.isEmpty(CUS011start))
            strWhere += " AND CUS011>='" + CUS011start + "'";
        if (!StringUtils.isEmpty(CUS011end))
            strWhere += " AND CUS011<='" + CUS011end + "'";
        List<Custom> customPage = custemInfoService.findAllByWhere(strWhere);
        Map<String,Object> datasource=new LinkedHashMap<String,Object>();
        datasource.put("code",0);
        datasource.put("count",2);
        datasource.put("data",customPage);
        Gson gson=new Gson();
        String result=gson.toJson(datasource);
        return result;
    }

改之後

@RequestMapping(value = "/querycustom",method = RequestMethod.POST,produces ={"text/html;charset=UTF-8;", "application/json;"})
    @ResponseBody
    public Object queryCustomByWhere(
            @RequestParam("CUS004") String CUS004,
            @RequestParam("industry") String industry,
            @RequestParam("salesman") String salesman,
            @RequestParam("CUS013") String CUS013,
            @RequestParam("CUS009start") String CUS009start,
            @RequestParam("CUS009end") String CUS009end,
            @RequestParam("CUS011start") String CUS011start,
            @RequestParam("CUS011end") String CUS011end
    ) {
        String strWhere = "1=1";
        if (!StringUtils.isEmpty(CUS004))
            strWhere += " AND CUS004='" + CUS004 + "'";
        if (!StringUtils.isEmpty(industry))
            strWhere += " AND CUS010='" + industry + "'";
        if (!StringUtils.isEmpty(salesman))
            strWhere += " AND CUS012='" + salesman + "'";
        if (!StringUtils.isEmpty(CUS013))
            strWhere += " AND CUS013='" + CUS013 + "'";
        if (!StringUtils.isEmpty(CUS009start))
            strWhere += " AND CUS009>='" + CUS009start + "'";
        if (!StringUtils.isEmpty(CUS009end))
            strWhere += " AND CUS009<='" + CUS009end + "'";
        if (!StringUtils.isEmpty(CUS011start))
            strWhere += " AND CUS011>='" + CUS011start + "'";
        if (!StringUtils.isEmpty(CUS011end))
            strWhere += " AND CUS011<='" + CUS011end + "'";
        List<Custom> customPage = custemInfoService.findAllByWhere(strWhere);
        Map<String,Object> datasource=new LinkedHashMap<String,Object>();
        datasource.put("code",0);
        datasource.put("count",2);
        datasource.put("data",customPage);
        return datasource;
    }

本來@ResponseBody代表返回json格式,我又用Gson轉了一次,所以有問題。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章