And therein lies the insanity that is a BOM: it's a character that's meant to be invisible, even to your UTF-8 capable text editor. With this in mind, it's not clear what
is supposed to be able to view or edit this character, short of a hex editor. Somebody else mentioned even cat ignores it; how are you supposed to easily tell that it's there or not?
IMHO a BOM is completely ridiculous to have on a UTF-8 file, because UTF-8 has no ambiguity over endian-ness that a BOM needs to resolve, and it breaks the principle that UTF-8 can serve as ASCII when all the codepoints <0x7F.
Is there any point to using it in UTF-8 besides pain, suffering, and "well UTF-16 and UTF-32 have it"?
The answer, straight from the horse's mouth.
http://www.unicode.org/versions/Unicode5.0.0/ch02.pdf , pg. 36
"Use of a BOM is neither required nor recommended for UTF-8, but may be encountered in contexts where UTF-8 data is converted from other encoding forms that use a BOM or where the BOM is used as a UTF-8 signature."
That's right, the UTF-8 BOM is neither required nor recommended. I rest my case.