【发布时间】:2015-01-09 04:10:18
【问题描述】:
我在我的应用程序中显示重音字符时遇到问题;它显示的是 ⛽ 而不是 ó。该字符串来自从服务器检索的 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));
}
}
警告:(如您所见,它只是在应有的位置显示一个方框符号 -> ó)
【问题讨论】:
-
尝试 utf8_encode() 或类似的东西......同时从服务器传递数据......
-
所以这将在 PHP API 端?
-
是的..您使用的是什么服务器端技术?
-
我不确定,我只负责应用程序的前端(javascript、html等)。我无法修改 API 上的代码。
-
从您的第一个 sn-p 可以明显看出,服务器数据实际上被编码为 ISO 8859 (Win1252),而不是 utf8。在您的 ajax 调用中使用该字符集,或者更好地联系服务器端人员并告诉他们从 2014 年起不使用 unicode 是一种耻辱。
标签: javascript ajax json non-ascii-characters