Türkçe karakter problemi konusuna devam ediyoruz.. Moodle veya drupal kurdunuz, Türkçe dil dosyalarını yüklediniz.. Herşey güzel çalıştı. Fakat Türkçe karakter içeren bir yazı eklediğinizde karakterler bozuk gözüktü…
Bu problem genelde MySQL veritabanında bulunan tabloların kullandığı karakter setlerinin Türkçe karakteri desteklememesinden dolayı oluşur. Veritabanındaki her tablonun karakter setini Türkçe karakter desteği bulunan bir sete (Örneğin : utf8) çevirmek bu problemi çözüyor..
Moodle, drupal gibi sistemlerde tablo sayısı çok fazla olduğundan her tabloyu tek tek düzenlemek zor.. Bu işlemi bir php kodu yardımı ile otomatik olarak yapabiliyoruz.. Bu kod veritabanındaki tüm tablo ve alanların karakter setlerini utf8’e çeviriyor ve Türkçe karakter problemini çözüyor.. Yapmanız gereken şey kodu indirip mysql user,pass,db ayarlarını yaptıktan sonra kodu servera yollayıp çalıştırmak..
Bu kodu kullanarak Drupal ve Moodle daki Türkçe karakter problemini çözdüm. Ancak moodle’da bu kodu çalıştırınca kullanıcı girişi yapılamıyor.. Bu yüzden bir kod ekleyerek adında mdl_user geçen tabloların karakter setini değiştirmedim ve sorun kalmadı..
Drupal içinse cache ile alakalı tabloları utf8e çevirmede problem yaşadım o yüzden drupalda içinde cache kelimesi geçen tabloların karakter setine dokundurmadım.
Sonuç olarak elimde iki adet mysql veritabanı karakter kodlaması çevirme kodu var;
Drupal için tüm veritabanını utf8 karakter kodlamasına çevirme dosyası
Moodle için tüm veritabanını utf8 karakter kodlamasına çevirme dosyası
Başka sistemler için de birkaç değişiklik ile bu kodu kullanabilirsiniz..