システム処理上、異なる文字コードなのだから当然なのですが、どこかのサンプルコードを使ってサイトマップのXMLファイルを作ってテストをしたところ、エラーが返ってきました。すでに作成していた別のサイトのサイトマップファイルは問題なく通るので、目を凝らしつつ原因を探していたのですが、どうしても見つからない。
そこでOKファイルとNGファイルの体裁をあわせてExcel上で行ごとのマッチングをかけたところ
<?xml version=”1.0″ encoding=”utf-8″?>
で差異があることがわかりました。どう見ても同じなのにと思いつつ、もしやと思ってテキストエディアで確認すると、encodingの前の半角のコードがエラーにならないものと異なっていました。検索すると
- U+2022 Space
- U+00A0 No-break Space
とのことで、後者の方だとバリデーションエラーになっていました。2つのコードについて参考にしたのはこちら。
http://anti.rosx.net/etc/memo/002_space.html
サンプルコードをコピーする時はちゃんとプレーンテキストを対象にしないといけないですね。