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);
}