<meta http-equiv="content-type" content="text/html; charset=windows-1254" />
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-9" />
<?
$tablo=""; //Bozuk olan tr karakterlerin oldugu tablo adi
$alan=""; //Bozuk olan tr karakterlerin oldugu alan adi
$id_alan =""; //Tabloda primary key olan alanın adı veya id no lar olan alanın ismi
mysql_connect("localhost","kullanıcı adı","sifre"); //db kullanıcı adı ifre
mysql_select_db("db adı"); //db adı
$kayitlar = mysql_query("select * from $tablo");
while($kayit = mysql_fetch_array($kayitlar)) {
$yazi = $kayit[$alan];
$ara = array ('ı','Å?','ü','ç','ö','Ä?','ÅŸ','Ç','İ','ÄŸ','Åž','Ö','Ü','ı','Å?','ç','ö','Ä?','ÅŸ','Ç','İ','ÄŸ','Åž','Ö','Ü','ü','ÄŸ');
$degis = array ('ı','ş','ü','ç','ö','ğ','ş','Ç','i','ğ','Ş','Ö','Ü','ı', 'ş', 'ç', 'ö', 'ğ', 'ş', 'Ç', 'i', 'ğ', 'Ş', 'Ö', 'Ü', 'ü', 'ğ');
$yeni = str_replace($ara, $degis, $yazi);
$islem="update $tablo set $alan='".$yeni."' where $id_alan='".$kayit[$id_alan]."'";
$guncelle = mysql_query ( $islem );
}
echo"Bitti";
?>yukarıdaki script ne iş yaparBi yerden bi yere db taşıdıktan sonra veya yedeklerinizi geri yükledikten sonra
web sayfanızda görüntülenen "çok güzel olmuÅ? => Çok güzel olmuş" gibi tr karakter bozulmalarını düzeltir.
Kullanımı basittir yukarıda yanında açıklamalar olan kısıma sadece gerekli bilgileri yazıp sitenize upload edip xxx.com/duzelt.php seklinde çalıştırmanız yeterli.Kendi sitelerimde sorunsuz problemsiz olarak kullanıyorum.
Buna rağmen yinede kullanmadan önce db yedeğinizi almanızı tavsiye ederim.
Çünkü db charset latin1_swedish_ci veya benzeri şekilde yapılandırılmışsa ne sonuc vereceğini bilmiyorum.Db collation connection ayarının latin5_turkish_ci olduğunu var sayarak yaptım.Bundan dolayı oluşabilecek sorunlarda sorumluluk kabul etmem.
Script herhangi bir yerden kopya değildir.Az önce ihtiyaç duyduğum için yazdım
Buradada paylaşalım dedim.Umarım işinize yarar