PHP::先頭?が表示されるけどなんで!?

PHPでプログラムをしていてごくまれに先頭に?が表示されて「なにこれ。。。キモイ」って思うことがあります。

うん。。。あるんです。

どこで出力されてるやらさっぱり分かんない謎の「?」

その答えはきっと文字コードの問題。

UTF-8(BOM有)の保存形式になってないですか!?

UTF-8(BOM有)だと0xEF BF BF っていう3バイトの符号がファイルの先頭についてしまうんだそう。

先頭以外のところで?があったら、それはきっと「~」でしょう。
これを「~」が?になっちゃう問題を波ダッシュ問題って言います。