
Aslında çok ciddi sorunlara yol açan UTF-8 BOM (Byte Order Mark) nedense birçok kişi tarafından bilinmiyor. Fakat o kadar ciddi bir durum ki sitenizin tüm karakterlerinizin bozulmasına veya sitenin tamamen çökmesine (görüntülenmemesine) neden olabiliyor.
BOM UTF-8 ile birlikte ortaya çıkmış olup dosyanın UTF-8 olduğunu gösteren bir işarettir. Bir dosyanın yapısını yazı düzenleyicinizde UTF-8′e çevirirseniz bu işaret kendiliğinden dosyanın en başına eklenir.
Peki nasıl bir şeydir bu BOM işareti derseniz, Şudur; 
Sebep Olduğu Problemler
Öncelikle başlık (header) meselesi sorunudur. Tarayıcıda ilk görüntülenmesi gerekenler başlıklardır. Fakat bu kod sayfanın en başına eklendikleri için başlıklardan önce görüntülenirler ki bu durumda bir hata mesajıyla karşılarsınız.
“Warning: Cannot modify header information – headers already sent by …“
Diğer bir sorun internet explorer’da kodu görmeseniz bile bir satırlık bir alan işgal eder ve siteniz üstten bir satır aşağıya iner. Dilediğiniz kadar css ile sıfırlamaya çalışsanızda yukarıdaki boşluğu bunu başaramazsınız çünkü orada BOM vardır.
Sayfanızda Türkçe karakterlerin tamamen bozuk görünmesine neden olabilir.
Çözüm?
Çözüm oldukça basit. Dosyanızı UTF-8′e çevirirken yazı düzenleyicinizde BOM olmadan UTF-8 seçeneğini seçmelisiniz. Malesef bunu yapmak için direk kodları silemiyoruz çünkü yazı düzenleyiciler bu karakterleri görmüyor. Biz dosyanın dil yapısını değiştirerek bu işaretten kurtulacağız.
İki editor ile çözüm yolları..
Notepad++ programında Format altında BOM olmadan UTF-8 (UTF-8 without BOM)’u seçerek sorunu giderebilirsiniz.
Notepad2 programında ise File->Encoding altında sadece UTF-8 olan seçeneği seçerek sorunu çözebilirsiniz.
ANSI veya BOM’lu UTF-8 formatındaki içi kodlarla ve Türkçe karakterlerle dolu bir dosyayı BOM’suz UTF-8 yapmak için önce Ctrl+A ile tüm yazıyı seçip Kes’in. Ardından dosyanın formatını değiştirin. Sonra kestiklerinizi tekrar yapıştırın ve dosyanızı kaydedin.
BOM olayı daha çok tema türkçeleştirilirken karşılaşılan sorundur..