Neler yeni

Türkçe Karakter Sorunu | UTF-8 BOM (Byte Order Mark) Nedir?

Full Nvme SSD Disk Desteği Sayesinde Çok Daha Hızlı Web Siteleri! 7/24 Destek. Ücretsiz Antispam Koruma. Ücretsiz Domain. Anında Aktivasyon

phpyazilim

Kodlanmak Güzeldir :)
Kurumsal üye
Ad
E****
Soyad
A******
Katılım
31 Ekim 2019
Konum
Hollanda
Konular
182
Mesajlar
819
Ticaret - 100%
4   0   0
  
iletişim
Meslek
Web Yazılım
Detay  
Meslek
Web Yazılım
Tecrübe
15 Yıl
Uzmanlık alanları
Php - PDO
İş referanslarım
Phptema.com
Diğer sitelerim
Biz bir aileyiz.
Üyelik tipi
  1. Kurumsal
Photoshop   Photoshop
  1. İleri düzey
    90%
İllüstratör   İllüstratör
  1. İleri düzey
    90%
İllüstratör   UI / UX tasarım
  1. İleri düzey
    90%
PHP   PHP
  1. İleri düzey
    90%
PHP   CSS3
  1. İleri düzey
    90%
PHP   JavaScript
  1. İleri düzey
    90%
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. Aslında bu konuya daha önce En Yaygın WordPress Hatası başlıklı makalemde değinmiştim ama burada biraz daha geniş ve anlaşılır bir şekilde açıklamak istiyorum.

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. En çok kullanılan iki düzenleyici olan Notepad2 ve Notepad++ yazılımlarında resimle nasıl bu işaretten kurtulabileceğinizi gösterelim.


Notepad++ (Benim Tercihim)
Notepad++ programında Format altında BOM olmadan UTF-8 (UTF-8 without BOM)’u seçerek sorunu giderebilirsiniz.
Notepad++



Not 1: Mevcut bir dosya ANSI formatında ve Türkçe karakter içeriyorsa onu dönüştürmek için Dönüştür (UTF-8 Without BOM) seçeneğini seçerseniz karakterleriniz bozulmadan BOM’suz UTF-8 formatında kodlamaya geçebilirsiniz.


Not 2: Türkçe karakterli dosyayı dönüştürmenin uzun yolu ise şu şekildedir. Önce Ctrl+A ile tüm yazıyı seçip Kes’in. Ardından dosyanın formatını resimlerdeki gibi değiştiri. Sonra kestiklerinizi tekrar yapıştırın ve dosyanızı kaydedin.


Notepad2
Notepad2
programında File->Encoding altında sadece UTF-8 olan seçeneği seçerek sorunu çözebilirsiniz.
Notepad2



Not 1:Bu makaleyi denen şimdi yazdığımı merak ediyorsanız söyleyeyim. XHTML standartları nedeniyle W3’ün HTML Validator sayfasına işim düşmüştü. Orada şöyle bir mesajla karşılaştım.

The Unicode Byte-Order Mark (BOM) in UTF-8 encoded files is known to cause problems for some text editors and older browsers. You may want to consider avoiding its use until it is better supported.

Yani diyor ki BOM’lu dosyaların bazı düzenleyicilerde ve tarayıcılarda problem çıkardığı bilinmektedir. Bu nedenle BOM daha iyi desteklenene kadar bu işareti kullanmaktan kaçınsanız iyi olur.

Not 2: BOM, özellikle tema Türkçe’leştirmelerinde dikkat edilmesi gereken bir husus.
 
Ad
ZEKİ
Soyad
AYGÜN
Katılım
18 Ocak 2019
Konum
Yalova
Konular
777
Mesajlar
2,933
Ticaret - 0%
0   0   0
  
iletişim
Meslek
Webmaster & SEO
Detay  
Meslek
Webmaster & SEO
Tecrübe
12 Yıl
Uzmanlık alanları
Web tasarım, PHP, SEO, Seslendirme, Video montaj
İş referanslarım
youtube.com/channel/UC0EKnd0EWBefw9Wrqw_wrAA
Üyelik tipi
  1. Bireysel
Enpara   Hesap
ZEKİ AYGÜN
HESAP NO; 1237-0056746
ŞUBE: DOSAB BURSA
İBAN: TR69 0004 6012 3788 8000 0567 46
Enpara   Hesap
ZEKİ AYGÜN
HESAP NO: 497-6640783
ŞUBE: GEMLİK
İBAN: TR60 0006 2000 4970 0006 6407 83
Photoshop   Photoshop
  1. Orta düzey
    50%
İllüstratör   İllüstratör
  1. Başlangıç düzeyi
    30%
İllüstratör   UI / UX tasarım
  1. İleri düzey
    90%
PHP   PHP
  1. Orta düzey
    50%
PHP   CSS3
  1. İleri düzey
    90%
PHP   JavaScript
  1. Orta düzey
    50%
tabi her scripti bu yok geçende örneğini gördük dosyayı düzenledikten sonra site bozuluyor demişlerdi sende tam anlatımını yapmış oldun
 
Yorum

Tema özelleştirme sistemi

Bu menüden forum temasının bazı alanlarını kendinize özel olarak düzenleye bilirsiniz.

Zevkine göre renk kombinasyonunu belirle

Gece/Gündüz modunu seç

Gece ve gündüz modlarından tarzınıza yada ihtiyaçlarınıza uygun olanı seçerek kullana bilirsiniz.

Tam ekran yada dar ekran

Temanızın gövde büyüklüğünü sevkiniz, ihtiyacınıza göre dar yada geniş olarak kulana bilirsiniz.

Izgara yada normal mod

Temanızda forum listeleme yapısını ızgara yapısında yada normal yapıda listemek için kullanabilirsiniz.

Forum arkaplan resimleri

Forum arkaplanlarına eklenmiş olan resimlerinin kontrolü senin elinde, resimleri aç/kapat

Sidebar blogunu kapat/aç

Forumun kalabalığında kurtulmak için sidebar (kenar çubuğunu) açıp/kapatarak gereksiz kalabalıklardan kurtula bilirsiniz.

Yapışkan sidebar kapat/aç

Yapışkan sidebar ile sidebar alanını daha hızlı ve verimli kullanabilirsiniz.

Radius aç/kapat

Blok köşelerinde bulunan kıvrımları kapat/aç bu şekilde tarzını yansıt.