【问题标题】:jQuery jtable json, cyrillic encodingjQuery jtable json,西里尔文编码
【发布时间】:2014-09-16 13:28:49
【问题描述】:

我在将数据从服务器发送到页面时遇到问题。

如果我发送:

{
 "Result":"OK",
 "Records":[
  {"PersonId":1, "Name":"Benjamin Button", "Age":17, "RecordDate":"\/Date(1320259705710)\/"},
  {"PersonId":2, "Name":"Douglas Adams", "Age":42, "RecordDate":"\/Date(1320259705710)\/"},
  {"PersonId":3, "Name":"Isaac Asimov", "Age":26, "RecordDate":"\/Date(1320259705710)\/"},
  {"PersonId":4, "Name":"Thomas More", "Age":65, "RecordDate":"\/Date(1320259705710)\/"}
 ]
}

一切正常,当我将 name 替换为任何西里尔字母时,它被视为

????????? ??? ?

在我放置的每个jsp页面的顶部

<%@ page contentType="text/html;charset=UTF-8" language="java" %>

我从服务器端发送

    String a = new Gson().toJson(rowsList);
    StringBuilder sb = new StringBuilder();
    sb.append("{\"Result\" : \"OK\", \"Records\" : ");
    sb.append(a);
    sb.append("}");
    return sb.toString();

【问题讨论】:

    标签: jquery json gson jquery-jtable cyrillic


    【解决方案1】:

    问题出在 Spring MVC 中。

    解决方案参考 is here

    将响应作为 ResponseEntity 对象发送对我有帮助

    @RequestMapping(value = "/reference-table/load")
    @ResponseBody
    public ResponseEntity<String> loadReferenceTable() {
    
        List rowsList = genericDao.selectAllRecords(ReferenceViewEntity.class.getName());
    
        StringBuilder sb = new StringBuilder();
        sb.append("{\"Result\" : \"OK\", \"Records\" : ");
        sb.append(new Gson().toJson(rowsList));
        sb.append("}");
        HttpHeaders headers = new HttpHeaders();
        headers.add("Content-type", "text/html;charset=UTF-8");
        return new ResponseEntity<String>(sb.toString(), headers, HttpStatus.OK);
    }
    

    【讨论】:

      猜你喜欢
      • 2013-10-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-28
      • 1970-01-01
      • 1970-01-01
      • 2016-02-06
      相关资源
      最近更新 更多