В MVC я пытаюсь сделать вызов Ajax во внешнем интерфейсе, чтобы получить объект со строкой на языке c араби. Все работает нормально, но строковое значение Arabi c отображается в виде вопросительных знаков (?????????). Как решить эту проблему?
Ajax звонок:
function getSectorById(sectorId){
var sector=null;
$.ajax({
type: "POST",
async: false,
url: contextPath + "/secure/services/getSectorById/"+sectorId,
contentType: contentTypeJSON,
success: function(data) {
sector=JSON.parse(data);
alert(sector.nameAr);
},
error: function(response){
alert(response);
}
});
return sector;
}
Код контроллера:
@RequestMapping(value = "/getSectorById/{sectorId}")
@ResponseBody
public String getSectorById(ModelAndView mav, @PathVariable BigDecimal sectorId) {
Sector sector = getSector(sectorId);
System.out.println(sector.getNameAr());
CustomSector sec = new CustomSector(sector.getNameEn(), sector.getNameAr());
Gson gson = new Gson();
String jsonString = gson.toJson(sec);
System.out.println(jsonString);
return jsonString ;
}
Я пробовал это сделать:
contentType: "contentTypeJSON; charset=UTF-8",
Но я продолжаю получать значение сектора .nameAr как:
???? ????? ????? ?????????
Как мне правильно получить значение Arabi c?