Phpmyadmin veritabanın da Türkçe karakter sorunu

SkyGod

Hectopat
Katılım
14 Temmuz 2018
Mesajlar
134
Daha fazla  
Cinsiyet
Erkek
Veri tabanındaki tüm yazılar bozuldu acaba bunları geri eski haline nasıl çeviririm?

Ekran sAlıntısı.PNG
 
Bu hatayı DB içeri aldıktan sonra mı yaşadınız yoksa var olan bir sitenizde sonradan mı meydana geldi?
Localhost da mı çalıştırıp deniyorsunuz, detaylı bilgi verirsen yardımcı olabilirim.
 
Karakter setin nedir? Büyük ihtimal karakter setin yanlış.

Var olan tablolarının karakter setlerini şu şekilde düzenleyebilirsin:
ALTER TABLE table_name CONVERT TO CHARACTER SET utf8;
veya
ALTER TABLE table_name CONVERT TO CHARACTER SET utf8mb4;

Ama verilerin olduğu gibi kalacaktır.
 
Veritabanını içeri alırken karakter setini utf8_general_ci olarak seçip DB'yi tekrar içeri alınız.
DB yükledikten sonra şayet bu hatayı alıyorsanız phpmyadmin den ilgili tablonun dilini yazdığıma çeviriniz.
 
Veritabanını içeri alırken karakter setini utf8_general_ci olarak seçip DB'yi tekrar içeri alınız.
DB yükledikten sonra şayet bu hatayı alıyorsanız phpmyadmin den ilgili tablonun dilini yazdığıma çeviriniz.
Ekran Alındsadsası.PNG

böyle mi olması gerek
Veritabanını içeri alırken karakter setini utf8_general_ci olarak seçip DB'yi tekrar içeri alınız.
DB yükledikten sonra şayet bu hatayı alıyorsanız phpmyadmin den ilgili tablonun dilini yazdığıma çeviriniz.
Kod:
  <?php
    $tablo="parca_liste"; //Bozuk olan tr karakterlerin oldugu tablo adi
    $alan="parca_adi"; //Bozuk olan tr karakterlerin oldugu alan adi
    $id_alan ="parca_Id"; //Tabloda primary key olan alanın adı veya id no lar olan alanın ismi
    include ("baglanti.php");


    $kayitlar = mysqli_query($baglanti,"select * from $tablo");
    while($kayit = mysqli_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 = mysqli_query ($baglanti,$islem );

    }
    echo"Bitti"
internette böyle bir kod buldum bunu yapınca yazıların çoğu düzeldi ama hala bozuk olanlar var.
 
Tabloyu onar dediğimde bozulmuş yazıların düzelmesi mi gerekiyor yoksa verileri tekrar mı girmem gerekiyor yazılar düzelmedi de ?
Bağlantı sayfanda veritabanı bağlantısı yaparken `$mysqli->set_charset("utf8");` olarak charset ayarlaması da yapman gerekiyor. Bundan sonraki eklemelerin düzelecektir. Ama önceki eklediğin kayıtları tekrar düzeltemezsin(Silebilirsin veya Update işlemi yapabilirsin).
 
Son düzenleme:

Geri
Yukarı