php 响应 mootools xmlhttprequest 中的 UTF-8 BOM

发布于 2024-09-04 02:29:57 字数 456 浏览 13 评论 0原文

我正在编写我的第一个支持 AJAX 的 Joomla 小组件。我正在使用 mootools。我有一个 xmlhttprequest 来联系我的 Joomla 组件,该组件返回一个响应 - 只是由 php 回显的纯文本,就像

echo 'Hello World!';

一切都工作正常,除了wireshark 告诉我响应前面带有 \357\273\277\357\273 \277 当它被客户端的 javascript 读取时。这在脚本显示的警报框中的响应之前显示为一个小方块。

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

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

谢谢

I'm writing my first little AJAX-enabled Joomla component. I'm using mootools. I got a xmlhttprequest to contact my Joomla component, and the component returns a response - just plain text echoed by php, like

echo 'Hello World!';

It's all working fine, except wireshark tells me that the response is prepended with \357\273\277\357\273\277 when it gets read by the javascript on the client side. This shows up as a little square before the response in an alert box that the script shows.

I don't explicitly set the encoding on the xmlhttprequest; mootools docs say that it defaults to UTF8.

What's the right way to handle this? Should I be setting the encoding on the request? Mime type? Should the javascript get rid of it? I'm not planning to have any characters requiring UTF8 in the response, so using plain old ascii would be ok for me too.

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

一影成城 2024-09-11 02:29:57

通常不建议使用 UTF-8 BOM。 UTF-8 中的字节顺序无法反转,因此除了通知消费源以下内容确实是 UTF-8 编码之外,它没有什么用处。

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

另外,无论出于何种原因,看起来您都有双 BOM。

此相关问题也可能有帮助。

A UTF-8 BOM is generally not recommended. Byte-order cannot be reversed in UTF-8 so it serves little purpose other than to just inform the consuming source that the following content is, indeed, UTF-8 encoded.

I'd strip it either on the Joomla end (preferred) or with javascript.

Also, for whatever reason, it looks like you have a double BOM there.

This related question might help as well.

空城仅有旧梦在 2024-09-11 02:29:57

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

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

I'm using Microsoft Expression Web 3, and even though it was set to not add a BOM for php files, there was indeed a BOM at the beginning of php files. I used a hex editor to remove the BOM, and now Expression doesn't add a BOM anymore while saving.

I don't know why there was 2 BOMs in the xmlhttprequest response, but now they're both gone.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文