duk*_*vin 2 html php unicode ajax encoding
我在这里有一些特殊字符:http:
//209.141.56.244/test/char.php
但是当我在这里通过ajax获取此文件时,它们会显示为返回?标记:http :
//209.141.56.244/test/char.html
这些字符应为"ISO-8859-1 Western",但将我的浏览器编码切换为任何选项都无济于事.
为什么这样,我该如何解决?
您的服务器发送Ajax响应text/html,这使得浏览器采用UTF-8(这是默认值),但您的数据本身不是UTF-8.
发送Ajax响应text/html; Charset=Windows-1252(您实际上并没有使用ISO-8859-1),它应该可以工作.
header('Content-Type: text/html; Charset=Windows-1252');
Run Code Online (Sandbox Code Playgroud)
PS:将浏览器切换到另一个字符集没有帮助,因为这只会影响页面本身.后续的Ajax响应仍然根据它们各自的头进行解码.