「Nu Html Checker」というW3C(World Wide Web Consortium:インターネット関連技術の標準化団体)が無償で提供するHTMLチェックツールがあります。これを使用した時に、上の画像のようなエラーが過去の投稿記事で発生していました。
「Forbidden code point U+0008.」とエラーが出ているので、おそらく「U+0008」という文字を使用してはいけないようです。
このエラーが発生する箇所として以下が指摘されています。
部ツールとして「P4Merge」を使うと横並びで画面いっぱ
しかし、それに該当しそうな文字はこの文字列中のどこにも見当たりません。※既にエラーとなる文字は記事から削除しているため、現在エラーは発生しません。
そこで、私のmacにインストールされているテキストエディタ「SublimeText」と「CotEditor」を使って調べてみることにしました。
ちなみにこの「U+0008」という文字について、こちらの記事に詳しく書きました。この文字を出力させる例も示しています。
SublimeTextで見えない文字の「位置」を暴く
「SublimeText」というエディタは不可視文字を表示してくれる機能があります。
上記の文字列をこのエディタにコピペして見てみると、BS
という見慣れない文字がe
と」
の間に表示されています。おそらくこれがエラーの原因かと思います。いつの間に紛れ込んでいました。
これでまず原因らしい文字の位置が分かりました。
CotEditorで見えない文字の「正体」を暴く
「CotEditor」は右上の[情報を見る]ボタンを押すと右カラムが表示され、選択した1文字が何を表すかを表示する機能があります。
このエディタではSublimeTextのようにBS
の文字は表示されません。ここで、e
と」
の間にある見えない文字を1文字選択すると(選択しているように見えませんが)、以下のように表示されます。
これで見えない文字の正体がUnicodeの「U+0008」である分かりました。この「U+XXXX」で表す文字はUnicodeのコードポイントと呼ばれています。
そしてBS
を含む記事からそれを削除して更新すると、上記のエラーを解消することができました。やはりこの文字がエラーの原因だったようです。
追記:CotEditorでも不可視の「U+0008」を表示できます
CotEditorの設定をいじっていたら、CotEditorがSublimeTextと同様に不可視文字のU+0008を表示できることがわかりました。
まず、CotEditorのメニューバーから[環境設定]を選択します。
[表示]タブを選択し、[不可視文字を表示]と[ほかの不可視文字]にチェックを入れます。
以下で?
という変な表示になっていますが、青く選択している部分が「U+0008」です。
これで、CotEditor単体でU+0008の位置を明確に確認することができるようになります。
まとめ
SublimeTextとCotEditorを用いて「U+0008」という文字の「位置」と「コードポイント」を解決し、HTMLチェックツールのエラーを解消しました。
何かよく分からない文字が出てきた時にはこれらのエディタにコピペしてみると、その正体を突き止めるヒントを得ることができます。