Merhaba arkadaşlar. Sitenizde yeniyim. Oncelikle cok detaylı bir php bilgim yok diyebilirim. Temel bir kac fonksiyon biliyorum sadece. Sahip olduğum internet sitesinde bir arama motoru yaptım. Latin bolumunde sorun yok, ama utf-8 karakterlerimde problemler var.

Problemi basit bir dille anlatmak gerekirse konu başlıklarını strtolower ile kucuk harfe cevirdim. latin alfabesi harflerinde bir sorun yok. gayet duzgun. ama bana gereken diğer alfabede karakterleri buyuk veya kucuk harfe gore bile farklı algılıyor. Başka bir deyişle alfabemin "A" harfini "a" olarak yazınca arama motoru sonuc vermiyor. Bunu da basite indirgemek icin str_replace kullanıp tum latin dışı karakterleri hallettim. Buraya kadar da tamam. Ama kullandığım dilde bir de tonlama problemi var. Turkceye vuracak olursam işi, normalde arama motoruna "a" veya "Â" tipinde ustunde tonlama işareti bulunan harflerin aynı sonucu vermesini, bu harfleri farklı algılamamasını istiyorum.

Yani ben a'da yazsam bana icinde a ve  bulunan, veya Â'da yazsam icinde a ve  bulunan kelimeleri getirmesini, farklı bir harfmiş gibi algılamamasını istiyorum. Bir başka deyişle bu iki karakteri eşitlemek istiyorum. Hangi formulu kullanmam gerekli?

Şu ana kadar şoyle bir yol izledim. Araya nasıl bir kodlama sıkıştırmam lazım ki arama iki karakteri aynı algılasın?


if ($arama)
{

$arama = str_replace("%20"," ",$arama);
$arama = str_replace("A","a",$arama);
$arama = str_replace("Â","Â",$arama);
...... (bu liste latin alfabesinde bulunmayan harfler icin uzayıp gidiyor. A sizi yanıltmasın diğer harfler gorunmeyebilir diye bu orneği verdim.)

$arama = strtolower($arama);



$string=$_GET['arama'];