• 21-08-2010, 22:11:24
    #1
    arakdaşlar ben sorunu bir türlü çözemedim netteki yöntemlei denedim olmadı birde siz bakın belki daha önce böyle birşeyle karşılaşan olmuştur..

    sorun şu charseti iso-8859-9 yapınca el ile yazdığım tüm yazılardaki türkçe kararter sorunu çözülmüş oluyor.. AMA Veritabanından çektiği bilgilerde türkçe kararter problemi oluşuyor..



    fakat charseti utf-8 olarak kullanırsam bu seferde el ile yazdığım tüm yazılarda karakter sorunu çıkıyor ama databaseden çektiği yazılar düzgün çıkıyor..

    veritabenı utf-8 ile kodlandı..



    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="tr" lang="tr">
    <head>
    
    	
    	
    	<meta http-equiv="content-type" content="text/html; charset=iso-8859-9">


    burada bir sorun varmı yoksasorun baska birşeydenmi kaynaklanıyor ???
  • 21-08-2010, 22:23:55
    #2
    veri tabanından çektiğin bilgileri mysql_query("SET NAMES 'latin5'"); ile set ettirmen gerekiyor eğer yine bozuk verirse mysql charsetini latin 5 turkish ci olarak değişmen gerekir..
  • 21-08-2010, 22:24:34
    #3
    Charset'i utf-8 yap. Dosyanı aç ve "utf-8 without bom" olarak kaydet.
    Not defterinde farklı kaydet dediğinde dosya adını yazdığın yerin altın "kodlama" diye bir kısım var, onu ansi'den utf-8'e çevireceksin. Bom problem olursa başka öneride bulunurum.
  • 21-08-2010, 22:34:24
    #4
    Ek olarak

    db bağlantısından hemen sonra

    mysql_query("SET NAMES utf8");

    bunu kullan ve metayı bu şekilde yap

    <meta http-equiv="content-type" content="text/html; charset=utf-8">

    birde kayıt esnasında utf-8 bom veya yanlız utf8 kullanırsan normal yazımdada veritabanında veri çekerkende bir sorun yaşamazsın kolay gelsin
  • 21-08-2010, 22:37:26
    #5
    dediklerinizi yapabildiğim kadar yaptım ama olmadı.. forumxtr ve finaly dediklerinizi yaptım fakat finaly senin dediğin yurkish ci muhabbetini beceremedim..

    kodlar şu şekilde


    $baglanti->set_charset('utf8');
    
    $baglanti->query("SET NAMES 'utf8' COLLATE 'utf8_unicode_ci'");
    
    //$baglanti = $m->query('show variables like "char%"');
  • 21-08-2010, 22:47:50
    #6
    tesekkurler mybk sorunu hallettim sayende.. ben notepad++ kullanıyorum butun hepsini seçmiştim utf-8 bom u seçmemiştim demekki ondanymış maharet sağol onuda öğrenmiş olduk )
  • 21-08-2010, 22:51:58
    #7
    Üyeliği durduruldu
    <META http-equiv=content-type content=text/html;charset=iso-8859-9>
    <META http-equiv=content-type content=text/html;charset=windows-1254>
    <META http-equiv=content-type content=text/html;charset=x-mac-turkish>
    Denermisiniz.
  • 21-08-2010, 23:07:41
    #8
    Veritabanı kayıtlarınızda karakterlerin doğru kaydedildiğinden emin misiniz? Normalde bu şartlar altında düzelmesi gerek. Kullandığınız sınıfın içinde ekstradan karakter seti tanımlaması olabilir. set_charset fonksiyonunda problem olabilir. query fonksiyonunun doğru çalıştığına eminseniz, bağlantıdan sonra aşağıdaki kodda çift tırnak içinde olanları query fonksiyonu ile çağırın. En kesin çözüm sınıfın içine veritabanı bağlantısından sorna direkt bu kodları eklemek olur aslında.

    mysql_query("SET NAMES 'utf8'");
    mysql_query("SET CHARACTER SET 'utf8'");
    mysql_query("SET COLLATION_CONNECTION = 'utf8_turkish_ci'");
    Edit: karakter setinde general veya unicode utf8 kullanıyorsanız utf8_turkish_ci yazan yerin turkish kısmını kullandığınızla değiştirin.