我已更新此问题以使其更加清晰:
我将单词“Über”作为 php header 中的值发送,作为对 ajax 请求的响应,如下所示:
header('title: ' . 'Über');
单词“Über”来自数据库,其列设置为 utf8_general_ci,当我从数据库中回显该单词时,我看到它是正确的。
当我这样做时,问题出现在 javascript 中:
var title = request.getHeader('title');
然后我会这样做:
console.log(title);
在 Chrome 中,标题的值是正确的 (Über),但在 Safari 和 Firefox 中,它会转换为“Über”。
我认为问题可能是我发送 header 中的值而不是正常的响应字符串。
非常感谢任何帮助。
最佳答案
昆汀是对的。在 header 中发送原始 unicode 会导致此问题。我改为普通的 ajax 请求,它解决了问题。感谢大家的帮助。
关于php - 如何在 javascript 中使用 UTF-8 字符设置 Safari 浏览器标题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16460473/