我已更新此问题,以使其更清楚:

我正在将单词“Ü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请求,并修复了问题。感谢大家的帮助。

07-24 16:45