$.ajax 显示“而不是重音符号,如”é“或”ã”
$.ajax displays "�" instead of accents, like "é" or "ã"
我需要能够使用 $.ajax 和 JSON 文件显示字母"é",但我得到的最接近的是一个警报窗口,上面写着",基本上任何事情都会有所帮助,只是没有 PHP 家伙,是的,我有<meta charset="utf-8">
。无论如何,这是JavaScript/jQuery代码:
$(document).ready(function() {
$.ajax({
type: "POST",
url: "alejandra.json",
contentType: "charset=utf-8; application/json",
dataType: "json",
success: function(data) {
var x = data[0].texto;
alert(x);
}
});
});
这是 JSON 文件:
[
{
"texto":"é"
}
]
PS:这一切都在我的PC本地运行。
这解决了OP的问题
右键单击您的文件并使用记事本打开它,单击 File
-> Save as
,如果不是,请将编码更改为 UTF-8
在我刚刚执行的非常快速的测试中:
内容类型 charset=utf-8;application/json
(不正确)与内容类型application/json;charset=utf-8
(正确)不同
以上实际上没有任何区别,我的测试是服务器发送的内容类型(在某些情况下确实会有所不同)
确保 .json 文件以 UTF-8 编码保存 - 我最初将其保存为 ansi 并且它不起作用,但以 UTF-8 保存工作正常
可能需要.toLocaleLowerCase()
方法:
success: function(data) {
var x = data[0].texto.toLocaleLowerCase();
alert(x);
}
描述
toLocaleLowerCase()方法根据任何特定于区域设置的大小写映射返回转换为小写的字符串的值。 toLocaleLowerCase() 不会影响字符串本身的值。在大多数情况下,这将产生与 toLowerCase() 相同的结果,但对于某些区域设置(例如土耳其语),其大小写映射不遵循 Unicode 中的默认大小写映射,可能会有不同的结果。
相关文章:
- 浏览器intl.NumberFormat未正确显示货币符号
- JS toLocaleString始终显示货币符号,而不考虑区域设置
- 如何使用 JQuery 显示带有加载符号的数据表
- 表情符号显示为原始 HTML 代码
- 在 Javascript 中显示 unicode 字符(表情符号)
- 显示UTF符号
- 如何使用Javascript和Angular显示货币符号
- angularjs不显示国际重音符号和重音符号
- 货币符号不't在javascript中正确显示
- 使用 Javascript 在模糊的输入上显示插入符号
- 无法显示表情符号值
- 未显示 Jssor 项目符号导航器
- 为什么项目符号图显示十进制数,而我们的范围为1
- 如何根据条件显示包含唯一项目符号的无序列表
- 少符号 (<) 不显示在剑道绑定到 html 上
- 为什么IE无法正确显示我的HttpHandler Web应用程序中的特殊符号
- 加载页面时,“>”符号显示为“>”
- HTML 特殊符号显示为字符
- 附加符号,jquery 显示无效符号
- 未知符号显示在捷克语在javascript应用程序