UTF abbr. Unicode Transformation Format is a super set of characters that facilitates the display of characters from ALL languages that is currently in use.
BOM stands for
Byte Order Mark (also known as
ZERO WIDTH NON-BREAKING SPACE) appearing at the beginning of a data stream to define the byte order (whether it is
little endian or
big endian). BOM is to indicate that the file is
Unicode based.
Possible problem caused by Byte Order Mark
In IE6, it will send the dispaly into quirks mode with its presence before "<DOCTYPE ..."
How to check the presence of BOM?
View the source code of the page that does not display correctly in a user agent. Or, open the file in the editor which does not support UTF encoding to see the BOM's signature on the files.
Suggestion
If the user-agent gives problem when you program for multi-lingual websites, check the editor settings to see what format is being used for saving program files. Notepad++ has the option to convert files to UTF and to UTF without BOM. Use the appropriate settings to convert your files.
A character set related tutorial on W3C site can be
found here
Byte Order Mark on
Wiki
Article on
PHP and UTF