Sizde php kodlarınızda Türkçe karakter sorunu yaşıyorsanız aşağıdaki çözümlerden birini deneyebilirsiniz. Karakter sorunu öncelikle veritabanında kayıt türü seçmenizle alakalıdır.
1- Herşeyi UTF 8 yapabilirsiniz
UTF-8 birçok ortamda size kolaylık sağlayacaktır. özellikle Ajax ile sorun yaşayanlar UTF-8 tercih etmektedir.
Çözüm:
UTF için HTML sayfasında en tepede şu yazılı olacak.
2- Türkçe Ayarlarını kullanabilirsiniz.
Türkçe ayarlar için HTML sayfasında en başta şu tanım olmalı:
Veritabanı olarak Latin5_Turkish seçmeniz uygun olacaktır:
mysql_select_db("veritabanı_adı");
mysql_query("SET NAMES ´latin5´");
mysql_query("SET CHARACTER SET latin5");
Veritabanı türü olarak latin_5_turkish seçmediyseniz en altına şunu da eklemelisiniz.
mysql_query("SET COLLATION_CONNECTION = ´latin5_turkish_ci´ ");
Hata devam ederse latin5 yerine UTF-8 , latin_5_turkish yerine utf8-general-ci olarak değiştiriniz.
3- str_replace Kullanarak karakter değiştirme
function trsil($q) {
$q = str_replace("ç","c",$q);
$q = str_replace ("ç","c",$q);
$q = str_replace ("ð","g",$q);
$q = str_replace ("Ý","I",$q);
$q = str_replace ("ý","i",$q);
$q = str_replace ("þ","s",$q);
$q = str_replace ("ö","o",$q);
$q = str_replace ("ü","u",$q);
$q = str_replace ("Ü","U",$q);
$q = str_replace ("Ç","c",$q);
$q = str_replace (".","",$q);
$q = str_replace ("Ð","g",$q);
$q = str_replace ("Þ","S",$q);
$q = str_replace ("Ö","O",$q);
$q = str_replace (" ","_",$q);
$q = str_replace ("'","",$q);
$q = str_replace ("/","",$q);
$q = str_replace ("__","_",$q);
$q = str_replace ("Ç","C",$q);
$q = str_replace ("Ço","C",$q);
$q = str_replace ("Ä?","G",$q);
$q = str_replace ("Ä°","I",$q);
$q = str_replace ("ı","i",$q);
$q = str_replace ("Ö","O",$q);
$q = str_replace ("Å?","S",$q);
$q = str_replace ("Ü","U",$q);
$q = str_replace ("ç","c",$q);
$q = str_replace ("ÄŸ","g",$q);
$q = str_replace ("ı","i",$q);
$q = str_replace ("ö","o",$q);
$q = str_replace ("ÅŸ","s",$q);
$q = str_replace ("ü","u",$q);
$q = str_replace ("&","ve",$q);
$q = str_replace ("&","ve",$q);
$q = str_replace ("'","",$q);
$q = str_replace ("\n","",$q);
$q = str_replace (":","_",$q);
$q = str_replace ("?","_",$q);
$q = str_replace (" ","-",$q);
$q = str_replace ("!","_",$q);
return $q;
}
Kullanımı: trsil($baslik);