swa66 - 1:12 pm on Apr 18, 2013 (gmt 0)
A BOM can be inserted and made invisible by your (text) editor. Make sure to chose the one you use so that it doesn't do that, or at least know how to configure it not to do that.
As far as PHP code is concerned: you're better off without a BOM in the source code when dealing with UTF-8.
I've far too little experience myself with UTF-16, so I'll refrain from generalizing there, but even if you want/need it in the output, you can always output it yourself as opposed to it being forced upon you by your editor.