javascript - 在 Javascript 中显示重音字符

标签 javascript ajax json non-ascii-characters

我在应用程序中显示重音字符时遇到问题;它显示 而不是 ó。该字符串来自从服务器检索的 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));
    }
}

警告:(如您所见,它只是在应该显示的位置显示一个方框符号 -> ó)

screenshot of alert box

最佳答案

要详细说明帮助我解决此问题的@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/

相关文章:

javascript - 到另一个组件的门户

Javascript : long string to smaller pieces

javascript - 使用两个不同的ajax调用

jquery 哪种形式是

ajax - 为什么我的grails复选框onclick远程功能ajax调用显示更新错误?

php - Chrome 在 PHP 脚本执行期间停止读取 JSON 文件

mysql - 如何在 Laravel 的一个表中连接外键不唯一的表

javascript - JS-计算鼠标点击的持续时间

javascript - 如何访问对象值

python - 使用python将json文件上传到 Elasticsearch