我在顯示「velar鼻子」字符(ŋ)時遇到了問題(但我認爲其他罕見字符會出現同樣的問題)。不顯示在html中的字符
我有一個MySQL表,其中包含這個字符的單詞。 當我的代碼檢索它以顯示在我的HTML頁面中時,它會顯示爲問號。
我已經嘗試了一些事情:使用MySQL的轉換爲檢索到的字符串轉換爲UTF-8,因爲我理解的是,字符串存儲在我的表作爲在「latin1」試過 1):
SELECT CONVERT(Name USING utf8)
相反的:
SELECT Name
這並沒有幫助,而且,當我在Java代碼保存在一個字符串有問題的話(「Yolŋu」),然後通過代碼剩下的問題傳遞的字符串仍然發生(即:問題不在於不同字符編碼,我的數據庫使用)。
2)我也嘗試創建從個字節的新的String:
new String(name.getBytes("UTF-8"));
絃樂正在從Java通過傳遞給一個JavaScript文件一個JSONObject傳遞給HTML:
相關JSON代碼:
JSONArray names = new JSONArray();
for (int iD: iDs)
{
JSONObject namesData = new JSONObject();
String name = NameDB.getNameName(iD);
nameData.put("label", name);
nameData.put("value", iD);
names.put(nameData);
}
return names;
相關servlet代碼:
response.setContentType("application/json");
try (PrintWriter out = response.getWriter())
{
out.print(namesJSONArray);
}
相關的js代碼:
ajax對servlet的調用是通過jquery ui的自動完成「源」選項完成的。
我對編碼一般很陌生,對字符編碼主題也很新穎。
謝謝。
太好了。點數(2)做到了。小改正:該方法被稱爲「setCharacterEncoding」。 – theyuv 2015-04-03 08:47:04
更正爲其他訪客。 – 2015-04-07 06:34:00