我已经实现了一个PHP脚本,结果是一个字符串 我已将内容类型指定为text / plain。
我通过AJAX请求调用我的PHP脚本 我使用jQuery函数来执行AJAX请求 然后我检索结果字符串,然后将其插入DOM中 我的调用HTML页面的内容类型是iso-8859-1。
但是我的调用HTML页面中没有正确显示结果字符串 带有锐音的字母e被特殊字符替换。
有没有人知道哪个字符集被隐式用于编码PHP脚本产生的字符串?
如果使用的字符集与iso-8859-1不同,那么如何使用iso-8859-1字符集重新编码结果字符串?
答案 0 :(得分:0)
默认情况下,Ajax请求为UTF-8。
您的Ajax资源应该发出UTF-8数据。在ISO-8859-1的情况下,浏览器应自动将结果转换为页面的本地字符集。
如果您的Ajax资源正在输出ISO-8859-1数据,请使用类似
的内容$data = iconv($data, "ISO-8859-1", "UTF-8");
对其强制执行UTF-8。 (或者,使用utf8_encode()
执行相同的操作。)
答案 1 :(得分:-1)
在PHP脚本中试试这个:
echo htmlentities($str, ENT_QUOTES, "ISO-8859-1");