Bu makaleyi uzun zamandır yazmayı düşünüyordum fakat işlerin yoğunluğundan vakit bulamamıştım. Birçok kişi PHP ile kod yazarken Türkçe karakter mağduru oluyor. Hatta bu PHP’den ziyade HTML ile tasarım yaparkende başınızı ağrıtıyor olabilir. Burada hatamız tek fakat çözüm yolumuz birden fazla. Şimdi çözüm yolları neymiş onu görelim.
Meta Tag Ekleme/Düzenleme
Tasarladığınız – kodladığınız – sayfanızın <head></head> tagları arasına meta tagı ekleyin.
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-9" />
Bu eklediğiniz kod sayfa karakter setinizi ISO-8859-9 şeklinde kodlar yani bunun karşılığı “latin5_turkish_ci”dir.
Bu işlem ile HTML ile yaptığınız tasarımlarda %99 olumlu sonuç alırsınız. %1lik sonuç ise son maddede.
Bir diğer sorunumuz ise veritabanından veri çekerken/girerken çektiğimiz Türkçe karakter problemi… Veri tabanı bağlantımızı yaptığımız dosyaya – fonksiyona – şu kodu ekliyoruz;
mysql_query("SET NAMES 'latin5'");
Bunun anlamı verilerim latin5 (Türkçe) formatında olsun. Eğer ki sayfanızın head tagları arasına yukarıdaki meta kodunu koydunuz ve bu fonksiyonuda sayfalarınıza include ettiyseniz %99 ihtimal sorununuz çözülmüştür.
Şimdi geliyoruz o %1′lik abzürd hataya. Meta tag eklediniz, mysql fonksiyonunu yazdınız fakat ne yapıp ne ettiyseniz sayfalarınızda hala Türkçe karakter sorunu var. Evet burda yardımınıza editörünüzün “Encoding” özelliği yetişiyor. Kodlarınızı yazarken “utf-8″ formatında yazıyorsanız ya da başka formatta (iso-8859-9 hariç) büyük ihtimal Türkçe karakterlerde sorun yaşayacaksınız. Bunu çözmenin 2 yolu var. Birinci yolu editörünüzün (örn notepad++) encoding menüsünden karakter setini değiştirmeniz, diğer yolu ise (eğer editörünüzün karakter seti belirleme özelliği yoksa) dosyanızın içindeki kodları kopyalayınız ve yeni bir dosya açıp içine yapıştırınız.
Evet geldik bu makalemizinde sonuna. Bu işlemleri yaptıysanız %99,99 sorununuz çözülmüştür fakat ben çözemedim, ben %0,01lik kısımdayım diyorsanız gelin birlikte çözelim…
Lütfen alıntılarınızda kaynak olarak gösteriniz.
Yusuf KARATAŞ

Mart 6th, 2010 at 13:22
Ben kendim site için denemeler yapıyorum da bir türlü çözemedim Türkçe karakter sorununu ben aldığım veriyi Türkçe olarak ekrana yazdırdım ama mysql_query ile yollarken sorun oluyor. Veritabanında da utf8 phpmyadmin de eklede iken türkçe karakter ile yazıyorum veri ekleniyor.
Mart 8th, 2010 at 14:47
mysql_select_db komutunu kullandığınız satırın altına
mysql_query(”SET NAMES ‘utf8′”);
şeklinde ekleyip tekrar deneyin