• 28-08-2006, 01:48:53
    #1
    <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ş yapar
    Bi 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
  • 28-08-2006, 01:49:40
    #2
    Kimlik doğrulama veya yönetimden onay bekliyor.
    teşekkürler bazen çok lazım oluyor böyle şeyler
  • 02-01-2007, 15:24:29
    #3
    Bu kodlamayı nerede giriyouz?
  • 02-01-2007, 15:57:47
    #4
    varyemez adlı üyeden alıntı: mesajı görüntüle
    Bu kodlamayı nerede giriyouz?
    1-) Bunu bilmemne.php olarak kaydet.

    2-) Sonra hangi db hangi tablo bozuksa bilgilerini kullanıcı adı şifre falan onları gir.

    3-) Bilmemne.php yi çalıştır.
  • 02-01-2007, 18:40:03
    #5
    Gerçekten işe yarayan bir kodlama gerçi aynısı word ile de oluyor.
  • 19-01-2007, 14:17:17
    #6
    Kimlik doğrulama veya yönetimden onay bekliyor.
    veritabanında ki kayıtlarda hata olmamasına rağmen eğer türkçe karakterler sayfalarda hatalı görünüyorsa veri tabanı bağlantısını yapan koda

    mysql_query("SET NAMES 'latin5'");
    mysql_query("SET CHARACTER SET latin5");


    eklemeleri yaparak sorunu giderebilirsiniz.

    Örnek veritabanı dosyası
    <?
    
    $sunucu ="localhost";
    $kullanici ="root";
    $parola ="parola";
    $db ="db";
    $baglanti =@mysql_pconnect("$sunucu","$kullanici","$parola");
    //
    $veritabani =@mysql_select_db("$db",$baglanti);
    mysql_query("SET NAMES 'latin5'"); // Tr için
    mysql_query("SET CHARACTER SET latin5"); // Tr için
    if (! @mysql_select_db("$db",$baglanti))
    {
    print 'MySQL Bağlantısı olmadı.';
    exit;
    }
    ?>
  • 03-02-2007, 02:23:17
    #7
    Üyeliği durduruldu
    bunun ? li olanları düzeltmek için olanı yopkmu msal zonenoktaorg ödüllü seo yarışması - Anasayfa
  • 03-02-2007, 03:15:21
    #8
    spy_force adlı üyeden alıntı: mesajı görüntüle
    bunun ? li olanları düzeltmek için olanı yopkmu msal zonenoktaorg ödüllü seo yarışması - Anasayfa
    Phpmyadminden baktığın zaman bütün tr karakterleri ? olarak görüyorsan bir daha düzelmez.Ancak yukarıdaki örnekteki gibi görüyorsan düzelir
  • 03-02-2007, 03:18:56
    #9
    Misafir
    /etc/my.cnf 'e skip-character-set-client-handshake ekleyerek deneyebilrsiniz.