[英]String received from the server displays special characters as “?”
我有一個servlet,它從雲sql獲取一些數據,創建一個java對象,將其轉換為json並將其附加到響應編寫器。
問題在於此數據可能包含帶有特殊字符(例如“ç”和“ã”)的字符串。
Servlet對請求進行身份驗證,然后執行以下操作:
resp.getWriter().append(new Gson().toJson(new MyDataType(resultset)));
resp.setContentType("application/json");
我也嘗試將響應編碼設置為“ utf-8”,
<property name="file.encoding" value="UTF-8" />
<property name="DEFAULT_ENCODING" value="UTF-8" />
在appengine-web.xml文件的系統屬性下,但沒有任何效果。
客戶端中的代碼如下:
URL u = new URL(myurl);
HttpURLConnection connection = (HttpURLConnection) u.openConnection();
InputStream is = connection.getInputStream();
InputStreamReader in = new InputStreamReader(is, "utf-8");
MyDataType l = new Gson().fromJson(in, MyDataType.class);
我該怎么做才能正確顯示字符串?
將服務器代碼更改為
resp.setContentType("application/json");
resp.setCharacterEncoding("UTF-8");
resp.getWriter().append(new Gson().toJson(new MyDataType(rs3)));
解決了這個問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.