bi güzellikte ben yapayım. eğer sayfanızın karakter kodlaması utf-8 ise direk olarak karakteri yazıp bunu replace ettiremiyorsunuz. utf-8 sayfalarda şunu kullanmanız gerekiyor.
/**
* Converts an NCR to a UTF-8 char
*
* @param int $cp UNICODE code point
* @return string UTF-8 char
*/
function utf8_chr($cp)
{
if ($cp > 0xFFFF)
{
return chr(0xF0 | ($cp >> 18)) . chr(0x80 | (($cp >> 12) & 0x3F)) . chr(0x80 | (($cp >> 6) & 0x3F)) . chr(0x80 | ($cp & 0x3F));
}
else if ($cp > 0x7FF)
{
return chr(0xE0 | ($cp >> 12)) . chr(0x80 | (($cp >> 6) & 0x3F)) . chr(0x80 | ($cp & 0x3F));
}
else if ($cp > 0x7F)
{
return chr(0xC0 | ($cp >> 6)) . chr(0x80 | ($cp & 0x3F));
}
else
{
return chr($cp);
}
}
$seo_opt['url_find'] = array(
utf8_chr(304), // I
utf8_chr(305), // ı
utf8_chr(350), // Ş
utf8_chr(351), // ş
utf8_chr(286), // Ğ
utf8_chr(287), // ğ
utf8_chr(220), // Ü
utf8_chr(252), // ü
utf8_chr(231), // Ç
utf8_chr(199), // ç
utf8_chr(214), // Ö
utf8_chr(246), // ö
);
$seo_opt['url_replace'] = array(
'i',
'i',
's',
's',
'g',
'g',
'u',
'u',
'c',
'c',
'o',
'o',
);
$url = str_replace ($seo_opt['url_find'], $seo_opt['url_replace'], $url);