我在应用程序中显示重音字符时遇到问题;它显示 ⛽ 而不是 ó。该字符串来自从服务器检索的 json 文件。以下是技术细节:
JSON:(这是从服务器检索的对象)
注意第三个键“Relación”,字母“o”是重音符号。
[
{
"key": "Canales"
},
{
"key": "Productos"
},
{
"key": "Relación con el ejecutivo"
}
]
Ajax(这里是检索信息的代码)
注意我已经按照大多数答案的建议添加了 charset=utf-8
$.ajax({
url: url,
type: "GET",
dataType: "json",
contentType: "application/json; charset=utf-8",
success: function(uri){
alert("clintg test: " + JSON.stringify(uri));
}
}
警告:(如您所见,它只是在应该显示的位置显示一个方框符号 -> ó)
最佳答案
要详细说明帮助我解决此问题的@georg 的建议:
由于我无法更改服务器端脚本,所以我调整了我这边的代码。
我将 ajax 请求中的 charset 更改为 ISO-8859-1,但是由于 ajax 的默认字符集是 utf-8,我不得不重写$.ajax.beforeSend
的字符集:
$.ajax({
url: url,
type: "GET",
dataType: "json",
contentType: "application/json; charset=iso-8859-1",
success: function(uri){
alert("clintg test: " + JSON.stringify(uri));
},
beforeSend: function(jqXHR) {
jqXHR.overrideMimeType('application/json;charset=iso-8859-1');
}
}
这是帮助我找出并覆盖字符集的问题的链接:Jquery ignores encoding ISO-8859-1
关于javascript - 在 Javascript 中显示重音字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26884747/