我有一個restful類發送JSON字符串POST請求。數據以UTF-8格式存儲在數據庫中。但是非英文字符總是顯示爲'??????',如果我從@Model獲得記錄,它就可以正常工作。 這裏是休息的代碼卡(使用簡單的JSON編碼JSON字符串):JSF寧靜輸出非英文字符
@POST
@Path("/holidaylist")
@Produces(MediaType.APPLICATION_JSON)
public String getHoliday(){
List list = new LinkedList();
// Get list of holidays
List<Holiday> holidays = em.createQuery("SELECT holiday FROM Holiday holiday").getResultList();
Map event;
for(Holiday holiday : holidays){
System.out.println("======== Holiday name: " + holiday.getHolidayName());
event = new HashMap();
event.put("id", holiday.getHolidayId());
event.put("title", holiday.getHolidayName());
event.put("start", holiday.getStartDate().toString());
list.add(event);
}
return JSONValue.toJSONString(list);
}
在先進的感謝。
這經常發生是因爲POST請求指定了另一個字符集。因此,Java-EE中的基本機制自動將您請求的內容轉換爲POST請求可接受的字符集。如果此請求來自網頁,則可能必須更改網頁以指定utf-8。 – Eelke
它是從網頁的utf-8格式。 – lastcow