WordPress’te Türkçe karakter problemi ve çözümü

Bu sıralar Türkçe ile devletin bile arası açık ama teknoloji evvelden beridir dilimizle pek anlaşamıyor. Hatırlayın daha birkaç sene önceye kadar Türkçe karakterleri kullanarak sms atamıyor, atsak da fahiş sms ücretleri ödüyorduk. Durumu düzeltmek ancak yasal bir yönetmelik ile mümkün olmuştu. Aslında WordPress için de bir tane çıkarılsaydı fena olmayacaktı çünkü orada da sıkıntı var. Bilenler Kabilesi, bundan muzdarip sitelerden biri.

Sitenin ilk gününden beri Stork temasını kullanıyorum. Malesef “ü, ç, ş, ı, ö, ğ” gibi Türkçe karakterlerle sorun yaşıyorum. Uzun süre gözardı ettim, düzeltmeye üşendim. Ama benzer bir problemi sitenin ikinci versiyonu için seçtiğim temada da yaşayınca işten daha fazla kaçamadım. Fırsattan istifade bu esnada yeni bir yazı da hazırladım ve Türkçe karakter sorunu başta olmak üzere diğer font problemlerinin nasıl çözüleceğini anlattım. Başınızda böyle bir dert varsa, şifa gibi geleceğine eminim.

WordPress’te Türkçe karakter problemi nasıl çözülür?

WordPress temalarını hazır olarak satın alıp kullanan biriyseniz, temanızın font seçimini tema geliştiricisine bırakmışsınız demektir. Tema geliştiricisi ise font seçiminde dizayn ve görünüme dikkat etmiştir, çünkü parayı vermenizin sebebi odur. Nihayetinde güzel göründüğü için Türkçe karakterlerin olmadığı bir font seti kullanılmış olabilir. Malesef bu durumu süslü demo sayfalarında önceden göremezsiniz, çünkü genellikle İngilizce’dir.

Bazen de kullanılan font aslında Türkçe karakterleri destekler ama geliştiricisi, Türkçe karakterleri içeren karakter setini eklemeyi unutur. Her iki durumda da sonuç bozuk Türkçe karakterler olur. Eğer başınızda karakter problemi varsa sebep %99.99 budur.

Sorunun çözümü basit ama, değişik temalarda değişik şekilde uygulanması gerekiyor. Mesela bazı temalarda gelişmiş font ayarları sekmesi var. Karakter seti seçeneklerden hemen eklenebiliyor. Bazısında ise fontları değiştirmek için basit bir ayar bile bulunmuyor.

Bu yüzden tüm olasılıkları kapsamak adına Bilenler Kabilesi’ni özel olarak seçtiğim 3 ayrı temaya yükledim ve 3 farklı özellik gösteren tema’da konunun farklı detaylarını anlattım. Herbiri birbirini tamamladığından 3 örneğe de bakmanızı öneririm. İşte farklı temalarda yaşanan Türkçe karakter problemi ve çözümleri;

Tema geliştiricileri, temalarında kullandıkları fontları kendileri geliştirmez. Fontları 3. parti kaynaklardan alıp kullanır. Kullanılan 3. parti kaynak ise genellikle Google Fonts’dur.

Google, geliştiricilere 600den fazla fonta kolayca erişebileceği muazzam bir servis sunuyor. İstenirse beğenilen yazı tipleri siteden kolayca indirilebiliyor. Ama WP temalarındaki yaygın kullanım bu şekilde değil.

3 örnekte de gördüğünüz üzere, konu Google Fonts’a link verilerek hallediliyor. Böylece sitenizi ziyaret eden kişi, temanızın kullandığı fontu sizden değil, Google sunucularından indiriyor. Yöntem bandwidth tasarrufu ve fontların otomatik güncellenmesi için faydalı oluyor.

Google Font bu alandaki tek firma değil ama %99.99 tercih bu yönde. Sağlam, stabil bir altyapı olduğundan genellikle diğer alternatiflere yönelen yok. Adeta bir standart. O nedenle diğer font servislerine özel bir bölüm ayırmadım. Doğrusu tema geliştirmek için başka servis kullanan da görmedim.

Fakat sizin temanız başka bir altyapı kullanıyorsa, söyleyeceğim şey şu;

Hangi font sitesi referans alınırsa alınsın, yapılacak şey farklı değil. Tek fark manuel olarak eklediğimiz kodların değişmesi olacaktır. Kod öbeğini kullandığınız font sitesindeki yardım sayfalarında bulabilirsiniz. Fakat benim önerim hemen aşağıdaki açılır kutuda anlatacağım Easy Google Fonts ile işinizi görmenizdir.

000088-05-01

(Easy Google Fonts kurulumu normal bir eklenti kurulumundan farklı değil. Yine de eklenti kurmayı bilmeyen kişilere yardımcı olması amacıyla anlatacağım. Eğer bu konuda bilgi sahibiyseniz, ilginç birşey yok, konuyu atlayabilirsiniz.)

Eklentiyi yüklemek için, yönetici paneline girip Eklentiler->Yeni Ekle menüsünü takip ediyoruz.

000088-05-02

Açılan sayfadaki arama kutusuna "Easy Google Fonts" yazıp Enter tuşuna basıyoruz.

000088-05-03

Çıkan arama sonuçlarından "Easy Google Fonts" öğesine ait alandaki "Şimdi Kur" butonuna tıklıyoruz.

000088-05-04

Emin olduğumuzu onayladığımızda...

000088-05-05

... eklenti indirilip kuruluyor. "Eklentiyi Etkinleştir" linkine tıklıyoruz.

000088-05-06

Böylece işlem tamamlanıyor, eklenti kurulmuş ve çalıştırılabilir hale geliyor.

000088-06-01

Easy Google Fonts, kullandığınız tema ne olursa olsun sitenizdeki yazı tiplerini değiştirebileceğiniz, font büyüklüğü vb ayarları yapabileceğiniz bir eklenti. Bir örnek vererek kullanımını anlatacağım.

Fotoğrafta, Türkçe karakter problemi yaşayan bir blog görünüyor. Fontları değiştirmek suretiyle karakter problemini ortadan kaldıralım.

000088-06-02

Blogun admin paneline girelim, Görünüm -> Özelleştir menüsünü takip edelim.

000088-06-03

"Typography" öğesine tıklayalım.

000088-06-04

"Default Typography" yazısına tıklayalım.

000088-06-05

Sol kısımda, müdahale edebileceğimiz alanlar görülecek. Mesela Paragraphs bölümünden içerik kısmındaki paragrafları, Header 1/2/3/4/5 bölümünden de sitemizdeki başlıkları değiştirebiliriz.

Örnek olması amacıyla Paragraphs bölümündeki "Edit Font" yazısına tıklıyorum.

000088-06-06-wordpress-easy-google-font-eklentisi

3 sekmede değişiklik yapabileceğim özellikler açılıyor. Birinci sekmeden Script/Subset, Font Family, Font Weight/Style bölümlerini değiştiriyorum. Yaptığım her değişiklik hemen canlı olarak gösteriliyor.

000088-06-07

Yazı boyutu büyük olduğundan küçültmek için "Appearance" sekmesine geçip "Font Size" bölümünden font boyutunu ayarlıyorum.

Böylece hem Türkçe karakteri düzeltmek tamamlanıyor, hem de yazı istediğim şekilde gösterilmeye başlıyor. Fakat henüz müdahale etmediğimiz için yazı başlığı halen bozuk.

000088-06-08

Düzeltmek için Heading 1 bölümünde benzer değişiklikleri yapıyoruz. Sorun çözülüyor. "Kaydet ve Yayınla" butonuna tıklayarak yaptığımız değişiklikleri siteye uyguluyoruz.

000088-06-09

Sonuçta Türkçe metinler doğru şekilde gösteriliyor. Ayrıca yazı fontları istediğimiz hale geliyor.

Burada değiştireceğim başlığın H1 mi H2 mi olacağını nereden bileceğim diyebilirsiniz. Deneme yanılma yapmak işinizi görecektir. Fakat bir sonraki açılır kutuda küçük bir tiyo olacak. Onu da kullanabilirsiniz.

000088-07-01-mozilla-firefox-ogeyi-incele

Yazı tipini beğendiğimiz siteyi Firefox'da açıyoruz. Beğendiğimiz yazıyı seçip üzerinde sağ tıklıyoruz. "Öğeyi incele" menüsünü seçiyoruz.

000088-07-02-wordpress-yazi-tipi-ogrenme

Firefox sol bölümde HTML kodlarını, sağ bölümde ise yazı fontunu gösteriyor. Sol bölümden öğenin başlık olduğunu sağdan da yazı tipinin "Source Sans Pro" olduğunu öğreniyoruz. İki küçük ipucu;

Sol bölümdeki h1, Header 1 yani yazının ana başlığı demektir. h2,h3,h4,h5 sırasıyla daha alt düzey başlıkları sembolize eder. p kodu ise paragrafları işaret eder.

Sağ taraftaki kaynak, fontun indirildiği adresi gösterir. Genellikle Google Fonts kullanılır ve "fonts.gstatic.com" Google'a aittir. Öğrendiğiniz fontu "Örnek 1" başlığında anlattığım şekilde yada "Easy Google Fonts" eklentisiyle hemen kullanmaya başlayabilirsiniz.

WordPress’de veritabanından kaynaklanan Türkçe karakter problemleri ve düzeltme

Yaşanılan font sorunlarının %99.99’u az önce anlattığım şekilde çözülecektir. Çünkü WordPress oluşturduğu tablolarda Türkçe karakterleri destekleyen UTF8 sistemini kullanıyor. O yüzden genellikle veritabanından kaynaklı karakter problemi yaşanmıyor.

Fakat ben sonradan kurduğumuz eklentilerin buna dikkat etmediğine ve sorun yaşatabildiğine şahit oldum. Bunlardan birisi WordPress için Anti-adblock eklentileri başlığında anlattığım Ad Blocking Detector (v2.2.6) eklentisiydi. O yüzden işin bu kısmına da dikkat edin diyerek hem yaşadığım problemi hem de çözümünü paylaşarak konuyu kapatayım;

000088-08-01

Türkçe karakter problemi olmayan bir blogda "Ad Blocking Detector" kullanmaya başladığımda karşılaştığım problemi fotoğrafta görüyorsunuz. ı,ş,ğ,ü gibi karakterler ? ile değiştirilmiş. Yazı okunmuyor.

000088-08-02-wordpress-phpmyadmin-database

Sitede font problemi olmadığından emin olduğumuz için veritabanı bölümüne bakıyoruz. Problem hemen gözümüze çarpıyor. Eklentinin oluşturduğu veritabanı UTF8 formatında yaratılmamış. Bu nedenle, girdiğimiz Türkçe karakterler veritabanına kaydedilmiyor.

000088-08-03-phpmyadmin-tablo-yedekleme

İşleme başlamadan önce, sorunlu tabloyu seçip "Dışa Aktar" komutu veriyoruz. Amacımız müdahale ettikten sonra sorun yaşarsak geri yüklemek üzere bir yedek almak.

000088-08-04

Git butonuna tıklayarak yedeği indiriyoruz.

000088-08-05-phpmyadmin-veritabani-tablosu-utf8-cevrimi

Yedek dosyası indirildikten sonra SQL sekmesine geçip fotoğraftaki komutu çalıştırıyoruz.

Bu komut tabloyu UTF8 biçimine çeviriyor. Tabi siz "wp_abd_shortcodes" yerine sorun yaşadığınız kendi tablonuzun adını girmelisiniz.

000088-08-06

İşlem hemen tamamlanıyor.

000088-08-07

Yapı bölümüne baktığımızda tablonun artık "utf8_general_ci" formatında olduğunu görüyoruz. Bundan sonra tabloya Türkçe karakter kaydedebileceksiniz...

000088-08-08

...ancak daha önce kaydettiğiniz veriler Türkçe'ye çevrilmeyecek. Gördüğünüz gibi halen ? şeklinde duruyor.

000088-08-09

Önceki girdileri, eklentinin arayüzünden düzeltebilirsiniz. Sorunlu karakterleri düzeltip tekrar kaydettiğinizde...

000088-08-10

... sorun ortadan kalkacaktır.

000088-08-11-phpmyadmin-tablo-silme

Peki diyelim ki phpmyadmin ekranında bir terslik oldu ve tablo kullanılmaz hale geldi. Bu durumda önce tabloyu seçip "Kaldır" komutu vererek...

000088-08-12

... ardından da sorguyu onaylayıp çalıştırarak tabloyu kaldırabilirsiniz.

000088-08-13-phpmyadmin-tablo-import-etme

Sonra İçe aktar ekranına girip, Gözat butonundaki yedeğinizi seçerek "Git" butonuna tıklayıp tabloyu yedekten geri yükleyebilirsiniz.

000088-08-14

İşlemin sonucu fotoğraftaki şekilde gösterilecektir.

000088-08-15-wordpress-database

Veritabanı adınıza tıklarsanız tablonun eski haliyle gelmiş olduğunu görebilirsiniz.

22 Comments

  1. Akın Tangun January 21, 2015
    • admin January 21, 2015
  2. ismail aküzüm March 17, 2015
    • admin March 17, 2015
      • ismail aküzüm March 18, 2015
  3. oğuz March 21, 2015
  4. ferit July 21, 2015
    • admin July 22, 2015
  5. Ömercan Çelikler September 11, 2015
    • admin September 12, 2015
  6. Murat December 23, 2015
    • admin December 23, 2015
  7. Mustafa January 22, 2016
  8. gökay August 6, 2016
  9. Caner October 3, 2016
  10. gençay December 3, 2016
  11. Zeliha Canderengül March 16, 2017
    • admin March 16, 2017
  12. iptvserverplay April 18, 2017
  13. hlsbhr April 28, 2017
  14. Kivanc August 2, 2017

Leave a Reply