我已更新此问题,以使其更清楚:
我正在将单词“Über”作为php标头中的值发送,作为对ajax请求的响应,如下所示:
header('title: ' . 'Über');
“Über”一词来自数据库,列设置为utf8_general_ci,当我从数据库中回显出该词时,我会正确地看到它。
当我这样做时,会在JavaScript中发生问题:
var title = request.getHeader('title');
然后我做:
console.log(title);
在Chrome中,标题的值是正确的(Über),但在Safari和Firefox中,标题的值将转换为“Ãber”。
我认为问题可能是我在标头中发送了值,而不是正常的响应字符串。
任何帮助,不胜感激。
最佳答案
昆汀是对的。在标头中发送原始unicode导致此问题。我更改为普通的ajax请求,并修复了问题。感谢大家的帮助。