web-dev-qa-db-ja.com

奇妙な文字によるページ出力

どうやら多くの人がランダムな文字と文字しか見ないと文句を言っています。

enter image description here

私の最大の問題は、私が自分のどのデバイスでも問題を再現できないことです。私のWindows XPラップトップではなく、私のWindows 7ラップトップではなく、私のAndroid携帯電話やiPod Touchにもありません。使用しているブラウザは関係ありません。私自身が問題に気づくのは、ブログの説明が奇妙な文字で表示されるためです。

だから、 まず第一に 私はどういうわけか問題を再現する方法を見つける必要があります。そうでなければ、自分がしたことで問題が解決したかどうかがわかりません。

@toschoが推奨することはすべてやりましたが、役に立ちませんでした。

誰かが似たような問題に遭遇したことがありますか、それとも私が問題を探し始めることができる場所を知っていますか?

編集:私は私のウェブホストに連絡しました。私と同じように、彼らは問題を再現できませんでした。彼らは彼らのサーバー上でgzip圧縮を有効にしたと言った。彼らは何が起こるかを見るために次々とプラグインをオフにすることを提案しました、しかし私が問題を再現できないので、私はそれができません。助けてください!

ますます多くの読者がこの問題について不平を言っています。ほとんどのユーザーは、ページを更新するか、数分待ってからサイトを正常にロードするだけで済みますが、それでもまだトラフィックを多く使用しています。

編集2:W3トータルキャッシュプラグインFAQと言う: 通常のWebサイトの代わりに文字化けが見られる。

テーマまたはそのファイルがphp_flush()またはflush()関数を使用すると、プラグインの通常の動作に干渉します。重要な操作が完了する前に、プラグインにキャッシュファイルを送信させる。 flush()呼び出しは不要になり、削除する必要があります。

私のコードではどこにもこの呼び出しがないことは確かですが、100%確実というわけではありません。私のすべてのファイルから何百万もの文字を検索する以外に、見つける方法はありますか?

4
japanworm

修正前の出力から始めましょう。

enter image description here

ここで何が起こりましたか?私の推測:プラグインW3 Total Cache とあなたのウェブサーバ LiteSpeed の衝突。私は Drupalフォーラムのスレッド _を非常によく似た(または同じ)問題について見つけました。

LiteSpeedは、W3TCが保存する圧縮キャッシュファイルに適切なHTTPヘッダを送信しないようです。バージョン0.9.2.4の その変更履歴 W3TCによると、

LiteSpeed Webサーバのサポートを修正

それで問題は知られているようで、アップグレードはそれを直すべきです。

アップグレードしても解決しない場合は…

  • あなたのウェブホスティング係に聞いてください。あなたは支持のために支払いをします、そして誰も内部をよりよく知りません。
  • または追加…

    AddType application/x-gzip .gz .tgz
    AddEncoding x-gzip .gz .tgz
    

    …あなたの.htaccessに助けになるかどうかを確かめてください。

  • またはW3TCでgzip圧縮をオフにします。他の方法がすべて失敗した場合は、それが最後の選択肢です。

結果をテストするために、ブラウザの出力に頼らないでください。すべてのブラウザは、圧縮が壊れた場合に異なる回避策を使用します。それを使用することはできません。 GIDZipTest のようなツールを使用して、すべて問題ないかどうかを確認します。

7
fuxia

GZipで出力を圧縮しようとしているプラ​​グインが2つあったので、これは私に起こりました。 2番目のプラグインを無効にすると問題が解決しました。

4
user28511

HTMLページまたはXMLページに使用されるエンコードを常に指定してください。そうしないと、コンテンツ内の文字が正しく解釈されない可能性があります。ヘッダファイルを調べて、英語とUTF-8の設定を指定してください。これが私のヘッダの中にあるものです:

<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="en-US">
<head profile="http://gmpg.org/xfn/11">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
2
Androliyah