質問: Ajax でデータをPHPにデータを送信してJson形式で返答するのですが、返信するJsonデータになぜか「・」というゴミが付いてしまいます。 (Chromeの開発ツールで赤字で表示されています。) 正常に動いているJson データにはなく、異常が発生する側にはこの「・」が付いています。 PHP には特にそのような記述も無く、途方に暮れています 何か理由があるのでしょうか? ご存知の方、教えていただけるでしょうか? (追記・訂正) https://syncer.jp/json-prettyprint というサービスでJsonチェックができるとのことで やってみると ``` {"103":"\u3066\u3059\u3068\u3066\u3059\u30683","214":"\u3066\u3059\u3068\u3066\u3059\u306810","240":"\u3066\u3059\u3068\u3066\u3059\u306817","175":"\u3066\u3059\u3068\u3066\u3059\u306824","100":"\u3066\u3059\u3068\u3066\u3059\u306831","114":"\u3066\u3059\u3068\u3066\u3059\u306838","125":"\u3066\u3059\u3068\u3066\u3059\u306842","136":"\u3066\u3059\u3068\u3066\u3059\u306845","145":"\u3066\u3059\u3068\u3066\u3059\u306850"} ``` 「SyntaxError: Unexpected token  in JSON at position 0」 というエラーメッセージが出ました。 「・」というのはエラーがあるという表現らしいです。ここは理解できました。 なぜ、このエラーがでるのかがわかりません。 ご存知の方教えていただければと思います。 宜しくお願いいたします。
回答: おそらくですが、どこかのPHPファイルの先頭に**BOM**という「見えない文字」が混入していて、それが先頭に出力されているものと思われます。 PHPファイルに限らず、UTF-8テキストにBOMは本来不要なものなので、「UTF-8N」あるいは「UTF-8(BOMなし)」という形を選んで保存しましょう。