jQuery jtable json, кодировка кириллицы

У меня проблема с отправкой данных с сервера на страницу.

Если я отправлю:

{
 "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)\/"}
 ]
}

Все в порядке, когда я заменяю имя на любое кириллическое слово, оно рассматривается как

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

В верхней части каждой страницы 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();

1 ответ

Решение

Проблема была в Spring MVC.

Ссылка на решение здесь

Отправка ответа как объекта 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);
}
Другие вопросы по тегам