如果您在使用 F12 工具查看網站網絡請求時,發現 JSON 數據中的中文顯示為“u”字符,可能是因為編碼問題所致。
{
"name": "u5FAEu5E93u670Du52A1",
"url": "http://localhost:8080/",
"description": "u6570u636Eu670Du52A1u63D0u4F9Bu670D"
}
解決方法如下:
1. 確認服務器響應頭中 Content-Type 的 charset 屬性是否正確設置為 UTF-8。如果未設置或設置錯誤,可在服務端代碼中設置:
response.setHeader("Content-type", "application/json;charset=UTF-8");
2. 在前端加上 meta 標簽,確保頁面編碼也是 UTF-8:
<meta charset="UTF-8">
3. 在 JavaScript 中解析 JSON 數據時,指定編碼格式為 UTF-8:
JSON.parse(data, function(key, value) {
if (typeof value === 'string') {
return decodeURIComponent(value);
}
return value;
});
4. 如果以上方法都沒有解決問題,可以嘗試使用unescape()
函數將 JSON 字符串中的 Unicode 編碼轉換為中文:
var str = JSON.stringify(data); // 將 JSON 對象轉換為字符串
str = unescape(str.replace(/\\u/g, '%u')); // 替換掉 JSON 中的 unicode 編碼
var obj = JSON.parse(str); // 將字符串解析為 JSON 對象