“”Türkçe”” karakter problemi, her alanda başımızı ağrıtırken, özellikle “”Ajax”” ile uğraşanların baş belası durumundadır. Sorunun çözümünde karakter çevrimi, iconv gibi vs. çeşitli yöntemler kullanmış biri olarak kesin çözüm her yerde UTF8 kullanmaktır diyebilirim.Ama iso dan utf8e geçmek bir sürü iş diyen çıkabilir. Ben de demiştim zamanında. İşte çözümler. Ben çektim siz çekmeyin.1- Veri tabanı bağlantısında UTF8 Kullanın.
Eğer verileriniz mevcutsa ve önceden bir şekilde LATIN5 ile kaydedilmiş verilere erişim sağlayacaksanız,

SET NAMES utf8;

SET CHARACTER_SET utf8;

Komutu ile bağlantınızı utf8e çevirebilirsiniz. Böylece veri tabanında karakterin nasıl kaydedildiğine bakmaksızın, istediğiniz kodlama ile sonuçlar alırsınız. Detay (http://dev.mysql.com/doc/refman/5.0/en/charset-connection.html)2- Dosyaları yazarken UTF8 kodlamasıyla kaydedin
Farklı karakter kodlamalarına izin veren editörler kullanın. Örneğin PHPed kullanın.Sistem default olarak Tools-> Settings -> Default File Encoding i değiştirin. Dosya açılırken kodlamayı seçin yada sağ alt köşede bulunan dil kodlamasını tıklayın.
Önceden hep latin5 çalışıyor idiyseniz de artık utf8 çalışacaksanız ve bir çok dosyaya sahipseniz bunları otomatik olarak değiştirmek için bir program kullanmaya ihtiyacınız olabilir. (Aslında dosyaları tek tek açıp farklı kaydet ile çözebilirseniz ama çok dosya varsa problem tabi) Otomatik olarak verdiğiniz dizindeki tüm dosyaları utf8 e çeviren program var. Uni2Me (http://alf-li.pcdiscuss.com/) Burdan direk indirebilirsiniz. Kuruluma gerek kalmıyor çok basit ve kullanışlı bir program. Ama benim işlerim çok alengirli diyenler için başka alternatifler de mevcut tabi3- Sayfanın karakter kodlaması UTF olsun.
Bunu da iki şekilde sağlayın.a- meta tag yazın.

META http-equiv=”Content-Type” content=”text/html; charset=utf-8″

b- php header belirtin.

header(‘Content-Type: text/html; charset=utf-8’);

Böylelikle kullanıcı browserı da utf8 i seçmiş olsun.Neden ille de ut8i kullanın diyorum da bir takım çevirici işlemleri yetersiz görüyorum.Çünkü ;1- ajax iletişimi utf8 üzerinden gerçekleşiyor2- json sistemi ancak utf8 ile çalışıyor (json_encode, json_decode $.parseJSON $.toJSON hepsi)3- fck gibi editörler çok ciddi problemler çıkarabiliyor.4- verilerin bir kısmı utf8 bir kısmı latin5 olunca sürekli çevirimlerle efor kaybediliyor. Hem yazılım performansı hem de yazılımcının sinir katsayısı…