2

人々が自分のサイトに配置できるウィジェットがあります。

ウィジェットは、document.write('$widget_output') を使用して入力された文字列をエコーする php スクリプトを介して生成されます。

ホスティング サイトは、javascript タグを使用してウィジェットを呼び出します。

<script type="text/javascript" src="http://www.link.com/page.php?param=1"></script>

問題は、ウィジェットが utf-8 であり、ウィジェットをホストしているサイトとは異なる場合があり、ウィジェットに意味不明なテキストが表示されることです。

どんな状況でも機能するように修正する方法はありますか?

ありがとう!

4

1 に答える 1

1

content-encoding http ヘッダーを追加します (私の iPhone ですぐに書きました)

もう少し説明させてください(私のラップトップで書いています;-)。ブラウザは、サーバーからさまざまなリソースを要求します。すべてのブラウザは、内部的に Unicode を使用して、表示するデータを表します。Web サーバーからの各リソース (html ページ、javascript ファイル、css ファイルなど) には、必要に応じて http ヘッダーにエンコーディング情報を添付できます。content-encoding ヘッダーがある場合、ブラウザーは、応答ヘッダーからのエンコーディングを使用して、リソースを内部の Unicode 表現に変換します。content-encoding ヘッダーがない場合、ブラウザーは、ファイルのエンコードがリソースを要求したページと同じであると想定します。

結論: Web サーバーから提供され、異なるエンコーディングのページで使用されるスクリプトがある場合は、そのスクリプトに content-encoding http ヘッダーを必ず追加してください。

于 2009-02-01T07:48:38.543 に答える