HTML5で、set_include_pathを用いると、先頭に謎の空白行ができる

HTMLHTML5

HTML5で、set_include_pathを用いると、先頭に謎の空白行ができる

 状態:不明  閲覧数:4,588  投稿日:2011-09-18  更新日:2012-03-15
何かを勘違いしているだけだと思うが、
解決できないので、メモ。HTML5で、set_include_pathを用いると、先頭に謎の空白行ができる。
しょうがないので、includeファイルを相対パスで直読み込みした。
この方法だと、階層が深くなると、しんどくなるよ。

なんで、できないかな?


2012/3/15
今日、また同じ現象に遭遇。
色々調べた結果、
不具合の原因は、
「includeするファイルの文字コードに、BOM (Byte Order Mark) を付けて保存していたことが原因だったみたい。
「UTF-8 (BOMなし)」で保存したら、あっさり空白行が消えた。


以前の不具合が、どのサイトだったか思い出せない(から今実際に試せない)けど、恐らくこれが原因だと思われ。

つまり、こういうこと。

<前提>
includeするファイルを「UTF-8」で保存する場合
○ … BOMを含まない「UTF-8 (BOMなし)」 (またはUTF-8N) でファイル保存
× … BOMを付ける「UTF-8 (BOMあり)」 でファイル保存


ということで、
HTML5とか、全く関係なかった……


ちなみに、BOMの取り扱いについては、
基本的には、UTF-8にはBOMは不要で、不具合がある場合にBOMを付けて試すと実行できたりする、ぐらいの認識で良いみたい

下記呼称も、俗称に過ぎない
「BOM 付き」… UTF-8
「BOM なし」… UTF-8N

そもそも、BOMがあると、何が便利かと言えば、
フォーマットの識別が容易になる
(先頭の3バイトを読むだけで、UTF-8 でエンコーディングされているとみなすことができる)
というだけ。

本来、BOMを付けなければいけない理由はないし、付けることで弊害が起きる可能性がある

   ↓

基本的には、UTF-8にはBOMは不要で、不具合がある場合にBOMを付けて試すと実行できたりする、ぐらいの認識で良い

<BOMが付与される例>
・Windowsメモ帳で保存
・設定にもよるかと思うが、秀丸とかでも、メモ帳で保存したテキストを開き、何も考えずに保存(自動判定-UTF-8)すると、BOM付きで保存される

<秀丸例>
・BOM付きファイルを開き、「自動判定-UTF-8」で保存 → BOM付き
・BOMなしファイルを開き、「自動判定-UTF-8」で保存 → BOMなし
※自動判定だから、動作的にはこれで正しいと思うが、この辺あまり意識していなかったので、ちょっと勘違いしてた部分もある
※最も、すぐ横に「BOM」確認チェック欄があるので、大抵の人は間違わないとは思うが…

<想定されるBOM弊害例>
・レイアウトが崩れる(空白行が入る)
・header関数の前にBOM付きUTF-8ファイルをincludeしてはいけない
→header()を呼ぶ前にincludeしたファイルに空白や空行がなかったとしても,そのファイルがBOM付きのUTF-8だった場合には,既に出力が行われたと見做されエラーとなってしまう


navタグで定義している部分だけCSSが効かない【html5】



類似度ページランキング
順位 ページタイトル抜粋
1 HTML5で、set_include_pathを用いると、先頭に謎の空白行ができる 85
2 HTML5では、inputタグの閉じタグを付与しない 45
3 HTML5では、action属性を省略すると、送信先はそのHTMLファイル自身になる 43
4 デフォルトの「Google Chrome」ではURL欄にwwwが表示されないため、「Microsoft Edge」を使用する 37
5 「position:absolute;」が分からなくなったときに見るエントリー 35
6 HTML5でiframeスクロールバーを表示しない方法が不明 34
7 HTML5では、「input 要素」「button 要素」を「フォームタグ」の外で直接記述しても良い 33
8 HTMLで「1つのタグにidを複数指定」は出来ない! 33
9 「Twitter Bootstrap」のアイコンは、画像なので色を変更できない 33
10 ページで使用されている「id名」「class名」をChromeで取得したい   33
11 divタグがdisplay:block;とかしても、ブロック要素にならないときは、 32
12 「Bootstrap, from Twitter」を利用する際、「current page」では白アイコンを利用する方法 32
13 positionプロパティのrelative指定は、デフォルトではない 32
14 「PhotoShop CS3」 と、「Vieas」 の違い 31
15 height:100%;の効果を打ち消す(あるいは上書きする)には、height:auto!important; 31
16 「position:absolute;」指定する際は、必ず(親要素を含む)祖先要素の何れかで「position」を明示的に指定 31
17 Illustrator CS3でのJavaScript実行方法 31
18 「css3-mediaqueries-js」と「Respond.js」の違い 30
19 resizeが効かない場合は、min-heightを設定してみる 30
20 bootstrap3で意図せず横スクロールバーが表示される場合は、containerクラスの入れ子を疑う 30
2024/10/28 13:39 更新
週間人気ページランキング / 10-21 → 10-27
順位 ページタイトル抜粋 アクセス数
1 Chromeデベロッパーツールで、スマホソースコードを確認したいが、USBデバッグ機能をどうしても有効にすることが出来ない | モバイルデザイン(デザイン) 16
2 「パッケージ化されてない拡張機能を読み込む」でインストールした拡張は、chromeを「更新」すると正常動作しなくなることがあります。 | Chrome 拡張機能 11
3 RGB ⇔ Lab | 色変換(色) 8
4 「東京都」のカラーコード取得は難しい | カラーコード(色) 7
4 「Google Chrome」の文字が突然ギザギザで表示されるようになったら、「chrome://flags/#top-chrome-md」へアクセス後、右上の「Reset all」ボタンをクリックします。 | Google Chrome(ブラウザ) 7
4 金融機関ブランドカラー / コーポレートカラー | カラーコード(色) 7
5 「Font Awesome 4」と「Font Awesome 5」の違い(Font Awesome バージョン4からのアップグレード) | Font Awesome(フォント) 6
5 「z-index」効果を打ち消すスタイルシートは、「z-index:auto;」 6
5 GIMPで「レイヤーとして開く」を選択した画像、の位置情報(x,y)を表示させる方法が分からない | GIMP 系(ソフトウェア) 6
6 キャラクター無料作成ジェネレーター / FLASH / オンラインサービス | イラスト参考(デザイン) 5
6 鉄道会社毎のカラーコード | カラーコード(色) 5
7 「コズミックブルー」は、くすんだ青系全般の色を指す用語だと思います。 | カラーコード(色) 4
8 「:hover」「z-index」を組み合わせて使用すると、正常動作しないことがある | z-index(CSS) 3
8 「transform:translate3d();」でスマホ実機画面が一瞬だけチラつく → 「backface-visibility:hidden;」指定すると解消される | CSSトラブル対応(CSS) 3
8 Windows10で「Google Chrome」が常に最前面に表示される。「アクティブウィンドウ」が最前面で表示されない → 解決方法存在しない | Google Chrome(ブラウザ) 3
8 Design 0 3
8 「display:flex;」を設定している「
  • タグ」内の「タグ」クリック範囲を拡大する | Flexible Box Layout Module(CSS)
  • 3
    9 色モデルイメージ図 | 色変換(色) 2
    9 「:after擬似要素」は、Chromeの「要素を検証」で確認できない | 擬似(CSS) 2
    9 「Chrome拡張機能」開発中に遭遇したエラー | Chrome 拡張機能 2
    2024/10/28 1:01 更新