我需要在json響應中使用西班牙文本。我嘗試了所有可能的方法,但消息仍然在UI上顯示怪異字符。我想顯示的信息是,在JSON響應中編碼的特殊字符
Número de Seguro Social
但它顯示爲,
N�mero de Seguro Social
在Java方面,
//response.setContentType("application/json");
//response.setCharacterEncoding("UTF-8");
response.setContentType("application/json;charset=utf-8");
OutputStream out = null;
out = response.getOutputStream();
out.write(jsonResponse.toString().getBytes());
out.close();
頭部分加入meta標籤。
<meta http-equiv="content-type" content="text/html;charset=utf-8">
我還設置內容類型在Ajax調用
$.ajax({
async: false,
cache: false,
type: get,
contentType: "application/json; charset=utf-8",
url: //url,
data: //data,
dataType: //dataType,
success: //callbackfn,
error: //errorfn
});
沒有什麼似乎工作。還有什麼我可以做,讓特殊字符按我的意圖工作?
感謝@Danack ......路過的字符集到的getBytes()的伎倆.. 'jsonResponse.toString()的getBytes(Charset.forName( 「UTF-8」)' – RKodakandla 2013-03-18 14:24:53
@rrkwells你真的不想在Java中手動編碼JSON。 – Danack 2013-03-18 23:56:07