0

私は最初の小さなAJAX対応のJoomlaコンポーネントを書いています。私はmootoolsを使用しています。Joomlaコンポーネントに接続するためのxmlhttprequestを取得しましたが、コンポーネントは応答を返します-phpによってエコーされたプレーンテキストのように

echo 'Hello World!';

応答がクライアント側のjavascriptによって読み取られるときに、応答の前に\ 357 \ 273 \ 277 \ 357 \ 273 \ 277が付加されるとwiresharkが指示することを除いて、すべて正常に機能しています。これは、スクリプトが表示するアラートボックスの応答の前に、小さな四角で表示されます。

xmlhttprequestでエンコーディングを明示的に設定していません。mootoolsのドキュメントによると、デフォルトではUTF8になっています。

これを処理する正しい方法は何ですか?リクエストに応じてエンコーディングを設定する必要がありますか?MIMEタイプ?javascriptはそれを取り除くべきですか?応答にUTF8を必要とする文字を含める予定はないので、プレーンな古いASCIIを使用しても問題ありません。

ありがとう

4

2 に答える 2

0

UTF-8BOMは通常推奨されません。UTF-8ではバイト順序を逆にすることはできないため、次のコンテンツが実際にUTF-8でエンコードされていることを消費元に通知する以外の目的はほとんどありません。

Joomlaの終わり(推奨)またはjavascriptでそれを取り除きます。

また、何らかの理由で、そこにダブルBOMがあるように見えます。

この関連する質問も役立つかもしれません。

于 2010-06-03T16:01:05.863 に答える
0

Microsoft Expression Web 3 を使用しています。php ファイルに BOM を追加しないように設定されていましたが、実際には php ファイルの先頭に BOM がありました。BOM を削除するために 16 進エディタを使用しましたが、保存中に Expression が BOM を追加しなくなりました。

xmlhttprequest 応答に 2 つの BOM が含まれていた理由はわかりませんが、現在は両方ともなくなっています。

于 2010-06-03T16:30:00.567 に答える