PHP文本/纯结果+字符集

时间:2012-03-23 11:54:01

标签: php character-encoding

我已经实现了一个PHP脚本,结果是一个字符串 我已将内容类型指定为text / plain。

我通过AJAX请求调用我的PHP脚本 我使用jQuery函数来执行AJAX请求 然后我检索结果字符串,然后将其插入DOM中 我的调用HTML页面的内容类型是iso-8859-1。

但是我的调用HTML页面中没有正确显示结果字符串 带有锐音的字母e被特殊字符替换。

有没有人知道哪个字符集被隐式用于编码PHP脚本产生的字符串?
如果使用的字符集与iso-8859-1不同,那么如何使用iso-8859-1字符集重新编码结果字符串?

2 个答案:

答案 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");