22 Ocak 2009

WordPress'te Türkçe Karakter Hataları

WordPress Yorum Ekle

WordPress kullananların canlarını sıkan problemlerin başında Türkçe karakter hataları geliyor. Bu durum bazen kullanıcıdan kaynaklanabildiği gibi bazen de kullanılan eklentilerden dolayı ortaya çıkabiliyor.
Hatanın birinci sebebi çoğunlukla WP'nin dosyalarını (tema, eklenti vs.) düzenlerken normal bir metin dosyası gibi düzenlenmek istenmesidir. Halbuki WP dosyaları UTF-8 formatında ve BOM olmadan kodlanması gereken dosyalardır. Eğer karakter hatası siz bir dosyayı düzenledikten sonra ortaya çıkmışsa ya da içerisinde "headers already sent" yazan bir hata alıyorsanız bunun sebebi budur. Bu problemle ilgili olarak bir WP dosyasının nasıl düzenlenmesi gerektiğine dair yazıma buradan ulaşabilirsiniz.
Hatanın diğer sebebi ise eklenti kaynaklı olabiliyor. Özellikle veritabanında yeni tablolar oluşturan eklentilerde bazen karakter hatası oluşabilmektedir. Aslında bunun da temelinde yine kullanıcı hatası bulunmaktadır. Şöyle ki kullanıcılar PHPMyAdmin ile sitelerinde veritabanı oluştururken genellikle dil kodlamasına dikkat etmezler. Çoğu zaman ise varsayılan olarak veritabanları latin1_swedish dil kodlaması ile oluşturulurlar. Bu durum WP'nin işlemesi için sorun teşkil etmemektedir çünkü WP kurulum sırasında sizin wp-config.php dosyasına eklediğiniz dil kodlama bilgilerini kullanarak tablolarını oluşturmaktadır, dolayısıyla da karakter hatası oluşmamaktadır. Ancak eklentiler bunu dikkate almazlar. Doğrudan SQL komutlarını (create table) kullanarak tablolarını oluştururlar.
SQL komutlarında aksi belirtilmediği sürece veritabanının tanımlı özelliklerine bağlımlı olarak tablolar oluşturulur. Bu nedenle de eklenti normalde UTF-8 dil kodlamasını kullanarak tablo oluşturması gerekirken, dil kodlaması latin1_swedish olan veritabanında oluşturulan tabloların da dil kodlaması latin1_swedish olmaktadır. Dolayısıyla sistem ile uyuşmazlık ortaya çıkmakta ve bu da Türkçe karakter hatalarının oluşmasına neden olmaktadır.

Çözüm

Türkçe karakter hatasının veritabanından kaynaklanıp, kaynaklanmadığı şöyle anlayabilirsiniz. Türkçe karakter problemi olan cümleler sizin veritabanına eklediğiniz bilgilerse ve eklentinin diğer çıktılarında bu hatayı göremiyorsanız hata veritabanı ile ilgilidir. Çözüm için yapmanız gereken, PhpMyAdmin'i kullanarak eklentinin oluşturduğu tabloların dillerini utf8_turkish olarak değiştirmektir.


Bu yazının kısa bağlantısı http://www.yakupgovler.com/?p=667.

Yazılarımı RSS aboneliği ile takip edebilir, yeni yazılarıma kolaylıkla ulaşabilirsiniz. Bunun için ise RSS adresimi kullanabilirsiniz.


“WordPress’te Türkçe Karakter Hataları” yazısı için 3 Yorum

Bu yazıya yapılan yorumları dilerseniz, ( RSS 2.0 ) beslemesini kullanarak takibe alabilirsiniz.

  1. Ramazan GÜL dedi ki:

    Sitenizi bir iki hafta önce bir wordpress çalışması öncesi arama motorları sayesinde keşfettim.Bana büyük oranda zaman kazandırdı.Wordpress ile ilgili ingilizce belgeleri okumam ve çalışma mantığını anlamam en azından 1 haftamı alabilirdi.Sayenizde 2-3 saat gibi kısa bir süre de plugin yazmayı öğrendim.Kendimi borçlu hissediyorum.Eğer kodlama konusunda zaman darlığı gibi sebeplerden dolayı bir sıkıntıyı düşerseniz ben buradayım mail adresimi biliyorsunuz. Teşşekkürler.

  2. Metin dedi ki:

    Benimde karekter sorunum var çözüm olursa gerçekten iyi olur be dostlar...

  3. Ali Ozturk dedi ki:

    Bu aksam yasadigim turkce sorununu sayenizde cözdumm COKK KOCAMAN tesekkur ediyorum.

    Emeginize saglik-
    Ali