0

私はここで一時的にホストしているウェブサイトに取り組んでいます。

すべてのページの最初にある謎の文字「a」に気付くでしょう。すべての php ファイル (コントローラー、ビュー、モデル) を確認しましたが、この手紙がどこから来ているのかわかりません。もう 1 つの興味深い点は、Firebug で検査したときにすべての head コンテンツが head タグに存在しないことです。body タグに表示されますが、正しく機能します。これら2つの問題は関連していますか?

インターネットを検索して見つけた唯一のことは、おそらく一部のファイルが UTF-8 ではなく ANSI として保存されていることです。エディターを使用してすべての php ファイルを UTF-8 として「保存」しようとしましたが、非常に遅いプロセスです。この状況をデバッグする助けをいただければ幸いです。

編集 - @erman-belegu さん、ご返信ありがとうございます。どのコントローラーにもないようです。たとえば、独自のコントローラーとビューを使用して 404 リダイレクトをセットアップしました。ビューは次のようになります。

<!DOCTYPE html>
      <html>
      <head>
         <meta name="description" content="No Page">
      </head>
      <body>
         <h1>No page dude.</h1>
      </body>
    </html>

しかし、firebug で検査すると、次のようになります。

  <html>
    <head></head>
    <body>
      a
      <meta content="No Page" name="description">
      <h1>No page dude.</h1>
    </body>
  </html>

UTFCast を使用してすべてをエンコードしましたが、まだ同じ問題が発生しています。どんな助けでも大歓迎です。

4

2 に答える 2

0

開始時にコントローラーを確認するか、どこかの印刷物を確認してください。これらの「a」を印刷するため、これらのページのすべてのコードを確認してください。

また、BOM なしの UTF-8 を使用します。しかし、私はあなたが誤ってそれを印刷したと思います.これが他の理由で起こるとは思わない.

于 2013-07-15T09:14:06.617 に答える
0

神秘的な「a」が出力の最初の文字であるため、 body タグ内に head が表示されます。これは、ブラウザのレンダリング エンジンまたは firebug によって body タグ内に配置されます。

"a" の原因 (ほぼ確実に PHP タグの外側にあるコンテンツ) が見つかった場合は、firebug で head が正常に戻ります。

「a」を検索するのは難しいです。コードベースがどれくらい大きいかはわかりませんが、出力が送信される直前にプロセスを終了することから始めてください。「a」のみが表示されます。次に、「a」が消えるまで出口を少しずつ移動すると、それが見つかります。

于 2013-07-15T21:00:09.503 に答える