web-dev-qa-db-ja.com

PHPメタタグを含める

現在取り組んでいるウェブサイトは http://www.troubi.com です。ソースコードを見るのを気にしないでください。

W3cValidatorを使用してWebサイトを検証すると、「無効な」メタタグが原因で多くのエラーが発生します。 ( http://validator.w3.org/check?uri=http%3a%2f%2fwww%2etroubi%2ecom%2f

Webサイトのソースを見ると、メタ領域のすべてが完全に有効に見えることがわかります。それが好奇心です。

ここで重要な点があります。Firebugでは、含まれているすべてのメタタグが<body>に移動しただけのように見えます。 Firebugのスクリーンショット: enter image description here

参考のために、これは含まれるメタファイルです: http://www.troubi.com/feature/meta.php

3
Michael

問題は、<head>と最初の<meta>要素の間に隠し文字があることです。すべてのページとPHPファイルが正しいUTF-8エンコーディングを持っていることを確認してください(これらのアプリがある場合は、Notepad ++またはSublime Textで変換できます)。

編集:ちょうどテストされ、それは文字です 「ゼロ幅ノーブレークスペース」(U + FEFF)

3
DisgruntledGoat

そこには奇妙なことが起こっています。なしで検証しようとしました

<!doctype html>
<html itemscope itemtype="http://schema.org/Organization">
<head>
<meta charset="utf-8">

次に、それらをコードに1つずつ再度追加し、必要に応じて検証します。 <!doctype html>で始まり、<html>-> <head>-> <meta charset="utf-8">で始まります。次に、itemscopeに関するエラーで検証する必要があります。 itemscope itemtype="http://schema.org/Organization"タグに<html>を追加します。

その後検証しますか?

Firebugについては、100%信頼することはできません。

@pritaeas-html5は、<meta> <img>などのタグの終了タグを必要としません。

2
Hoshts

さて、私はそれを理解しました。問題は<meta charset=utf-8 >にありました。問題は、通常のASCII文字のように見えたが、そうではなかったことです。それらは似たような非常に不可解なUnicodeシンボルでした。これをhahaha, amazing bugリストに追加します。含まれているファイルを完全に再作成することで解決しました。

ご協力いただきありがとうございます!

1
Michael