0

我正在编写我的第一个启用 AJAX 的小型 Joomla 组件。我正在使用mootools。我有一个 xmlhttprequest 来联系我的 Joomla 组件,该组件返回一个响应——只是由 php 回显的纯文本,比如

echo 'Hello World!';

一切正常,除了wireshark告诉我,当客户端的javascript读取响应时,它会以\357\273\277\357\273\277开头。这在脚本显示的警告框中显示为响应之前的一个小方块。

我没有在 xmlhttprequest 上明确设置编码;mootools 文档说它默认为 UTF8。

处理这个问题的正确方法是什么?我应该在请求上设置编码吗?哑剧类型?javascript应该摆脱它吗?我不打算在响应中包含任何需要 UTF8 的字符,所以使用普通的旧 ascii 对我来说也可以。

谢谢

4

2 回答 2

0

通常不推荐使用 UTF-8 BOM。字节顺序在 UTF-8 中不能颠倒,因此除了通知消费源以下内容确实是 UTF-8 编码之外,它几乎没有什么用处。

我会在 Joomla 端(首选)或使用 javascript 剥离它。

此外,无论出于何种原因,看起来您在那里有一个双 BOM。

这个相关的问题也可能有所帮助。

于 2010-06-03T16:01:05.863 回答
0

我使用的是 Microsoft Expression Web 3,即使它被设置为不为 php 文件添加 BOM,但在 php 文件的开头确实有一个 BOM。我使用十六进制编辑器删除了 BOM,现在 Expression 在保存时不再添加 BOM。

我不知道为什么 xmlhttprequest 响应中有 2 个 BOM,但现在它们都消失了。

于 2010-06-03T16:30:00.567 回答