geldik!

Belirsizliklerin ve Kararsızlıkların Blogu

Wordpress UTF-8 Sorunu ve Çözümü

with 3 comments

Wordpress

Çoğu kişi bilmez ama PhpMyAdmin‘den veritabanı oluştururken çoğu zaman veritabanı adının yanındaki karşılaştırma değerini hiç umursamayız. Çünkü amacımız o değil(!) amacımız sadece bizlere dikte edildiği gibi veritabanı ismini yazıp enterlamak. İşte ummadık taş baş yarar derler ya güncelleme sonrasında da bi bakarsanız ana! Karakterlerin yerinde soru işaretleri anlamsız yazılar filan… Sonra doğru wordpress-tr.com forumuna, milyonluk kullanıcı kitlemiz var ya; başlığı da şöyle atarız : “ArkadaŞlar türkÇe kArakTerlerde Bi sorun ÇıkTı Acil YaRdıM”. Sonra moderatörlerden yersiniz bi güzel fırçayı doğru sadık dostunuz Google’a. Belki de şu an onun aracılığıyla geldiniz. Hoşgeldiniz! Haydi sorununuzu beraberce çözelim. Aslında çözüm çok kısa hatta bir satırda çözümü veriyorum yazının son tarafında ama “Yok kardeşim ben hatamı göreyim ve bir daha da yapmayayım.” diyorsanız aradaki metini okumanız şiddetle tavsiye edilir. Bu tip sorunlara tekrar düşmemek için olayın kaynağına inelim. Tam da ilk hata yaptığımız yere! Hatayı veri tabanı oluştururken yaptınız. Şöyle ki; mysql’i yazan adamların isveçli olmasından mı kaynaklanır bilinmez ama mysql’i yüklediğimizde veya hostlarınızda hazır olarak yüklenmiş mysql’in genellikle varsayılan karakter karşılaştırması latin1-swedish-ci ‘dir ve isveç dilinin ingiliz harfleri dışındaki özel karakterlerinin düzgün bir şekilde gösterilmesi için oluşturulmuştur. Eğer mysql’imizin varsayılan karakter karşılaştırmasını değiştirmediysek hep isveç dilinin karakter setiyle devam ederiz. Fakat biz isveçli değiliz ki! Niye bu karakter setini kullanalım? Bizim dilimiz için de farklı karakter karşılaştırılmaları oluşturulmuştur ki özellikle latin5_turkish_ci kullanması en elverişli olanlardan biridir ve projelerimizde pek sorun çıkartmaz, severek kullanıyoruz yani, fakat Wordpress gibi çoklu diller için yapılmış bazı projelerde tüm karakter setlerinin bir arada bulunduğu özel bir karakter setine ihtiyaç duyulur ki bu da UTF-8‘dir.

karakter-seti-karsilastirma.png

Wordpress kurulum yaparken siz seçmeseniz bile tabloların ayrı karakter karşılaştırılmalarında olabilmesinden yararlanarak tabloları UTF-8 ile döşer fakat güncelleme dosyalarında sanırım bu olay unutuluyor veya varsayılan karakter seti üzerinden güncellemeler yapılıyor haliyle de içerikle uygun olmayan karakter seti kodlaması görüntülenme sırasında bazı sorunlara yol açıyor. Bunun önüne geçiş için wordpress’in database’ini oluştururken utf8_general_ci karakter karşılaştırmasını seçmeniz yararlı olacaktır. Ama diyorsunuz ki: ama kardeşim ben kurdum bile! Sizde haklısınız ama bir düşünsenize aslında wordpress yapımcılarına çok da kızamayız. Çoğu ingilizce blog yazıyordur büyük ihtimalle. İngilizce içerikli bir blog sahibinin düşüneceği fazla bir şey yoktur çünkü ingilizce bir bloğun karakter seti seçmek diye bir sorunu yoktur tüm karakter setleri onun için anasının ak sütü gibi helaldir. Çünkü bilgisayar programla teknolojisi (yaygın kullanılanları) ingiliz karakterleri üzerine kurulmuştur, haliyle bir sorun yaşamazsınız. Ama ya Türkçe bir günlüğünüz varsa o zaman ne yapacaksınız?

ÇÖZÜM:

Şu eklentiyi kurup işinizi bitireceksiniz. Bu kadar! ;)

Written by echza

Ağustos 13th, 2007 at 7:26 pm

Posted in Diğer

Tagged with , , , ,

3 Responses to 'Wordpress UTF-8 Sorunu ve Çözümü'

Subscribe to comments with RSS or TrackBack to 'Wordpress UTF-8 Sorunu ve Çözümü'.

  1. hepimizin başına gelmiş olan bir sorun :) keşke wordpress-tr de olan sürümlerde varsayılan olarak latin5_turkish_ci şeklinde oluşturulacak olarak gelse fena olmazdı. böylece de bilmeyenler öğrenmiş olurdu şans işte. bilgi ve eklenti için teşekkürler

    cihan

    13 Ağu 07 at 22:00

  2. cihan;

    Sanırım konuyu yanlış anlamışsınız. Burada veritabanı karakter kodlamasından bahsedilmiş, veritabanımız WordPress’ten bağımsız oluyor. WordPress’in Türkçe paketi UTF-8 karakter kodlamasıyla geliyor zaten. Yani önce veritabanı oluşturuyoruz, sonra WordPress’i kuruyoruz.

    Eğer ilk kez kuruyorsanız, veritabanınızı yeni oluştururken karakter kodlamasını utf8_general_ci olarak ayarlayın ve sonra da WordPress’i kurun. Kolay gelsin.

    Hasan

    24 Ağu 07 at 17:36

  3. utf-8 ile başlamak Türkçe karakterlerin sorunları ile hiç bir zaman uğraşmamak demektir. Başıma az bela olmadı.

    Serkan Altuntaş

    24 Ağu 07 at 20:41

Bir cevap gönderin