• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:require_once の結果について)

require_onceの結果について

このQ&Aのポイント
  • php Ver5.5.28を使用したlinux上でのrequire_onceの結果について
  • index.phpファイルに<!DOCTYPE html>タグとテストタイトルを含んだHTMLコードを記入し、test.phpファイルにaaa変数の設定と表示を記入したが、実行結果のHTMLに不明なコードが追加された
  • test.phpファイルを空のコードで実行しても不明なコードが生成される問題が発生している

質問者が選んだベストアンサー

  • ベストアンサー
  • 4017B
  • ベストアンサー率73% (1341/1821)
回答No.3

これは典型的な文字コードの問題ですね。PHPなどのプログラム公文には何の問題もありません。 NTTレンタルサーバとの事ですのでサーバ側の設定は事実上、User任意では変更出来ないため、PHPファイルとHTMLファイルの文字コードを何とかして解決するしか方策は無いと思われ…。 恐らくはPHPファイルの改行コードとBOMが引っ掛かってるんではないかと推測。 ・UTF-8, 改行LF, BOM無 ~でPHPを上書き保存し直してみてください。特にBOM有だとよくこの様なゴミが出やすいので。 既に該当ファイルが全てその様になっている場合、サーバ側のキャッシュが残っており最新版のファイル情報が反映されていない可能性もありますので。数時間程度、待ってから確認してみてください。 それでもダメならちょっとお手上げと言うか、実際に弄りながらでないと何とも言えないので…そちら側で直にNNTさんに問い合わせして貰うしかないと思いますが。通常、この手の個別質問にはノーコメントが原則なので…やっぱりもうお手上げかも。

doraemoyan
質問者

お礼

基本的なミスでしたが、PHP側を追いかけ過ぎていました。 本当にありがとうございました。

doraemoyan
質問者

補足

ありがとうございました。 一部ファイルがBOM有りで保存されてることが分かりました。 UTF-8N(TeraPad)で保存し直して解決しました。

その他の回答 (2)

noname#217950
noname#217950
回答No.2

環境が違いますが私がやってるサイトのあるレンタルサーバー上でソースをコピーしてみましたがその黒丸らしきものは出ませんでした。 小さくてよく見えないのですが、多分よくお目にかかる文字化けの時に出る黒いひし形の中に?が入ったやつですよね?最初の一文字目だけですし、本来文字の無い場所ですので私は同様の経験がありません。 setlocale(LC_ALL, 'ja_JP.UTF-8'); をtest.phpの最初に書き加えても駄目ですかね? 文字化けとは違うと思うのですが、私がよくやるおまじないです。。。

doraemoyan
質問者

補足

ありがとうございます。 <?php setlocale(LC_ALL, 'ja_JP.UTF-8'); $aaa = "変数に文字を設定します。"; print $aaa; ?> で試しましたが、文字化けの時に出る黒いひし形の中に?が入ったやつが同じように出てしまいます。ちなみに、サーバはNTTコミュニケーションのBizメール&ウェブ エコノミーを利用しています。

noname#217950
noname#217950
回答No.1

いったいどこがゴミなのですか? 期待通りに出力されてるように見えるのですが。、

doraemoyan
質問者

補足

画像が小さくてすいません。 <p>●変数に文字を設定します。</p> ●が余分に出力されます。 ※バイナリーエディターでコードは調べていませんが、説明の都合上●とさせていただきました。