• 27-05-2009, 10:52:17
    #1
    Merhabalar,

    ISO-8859-9 olan bir xml dosyasından php ile verileri çekiyorum çekerkende 8859-9 olarak belirtiyorum fakat, DB'ye türkçe karakter hatalı olarak yazıyor.

    DB'den sayfaya çağırdığımdada türkçe karakter hatası alıyorum.

    Örnek ;

    Galatasaraylıları öldüren kuruntu

    Sorun hangi noktada olabilir? Çözüm için ne yapabilirim?

    Teşekkürler..
  • 27-05-2009, 10:58:45
    #2
    Üyeliği durduruldu
    php dosyalariniz utf-8 mi?
    veritabanizin dil kodlamasi nedir. klasik dil kodlamasi karmaşası yaşıyorsunuz.

    mb convert ile dil kodlamasini değiştirebilirsiniz
  • 27-05-2009, 11:05:45
    #3
    sdemirkeser adlı üyeden alıntı: mesajı görüntüle
    php dosyalariniz utf-8 mi?
    veritabanizin dil kodlamasi nedir. klasik dil kodlamasi karmaşası yaşıyorsunuz.
    mb convert ile dil kodlamasini değiştirebilirsiniz

    php dosyam 8859-9
    db dil yapısı latin1_swedish_ci
  • 27-05-2009, 11:18:08
    #4
    Üyeliği durduruldu
    db yi latin5 seçmen gerekli yada xml veri tipi 8859-1 olmalı
  • 27-05-2009, 11:31:05
    #5
    Çok ilginç ;

    Çekilen XML : 8859-9
    Çektiğim Php : 8859-9
    DB - latin5

    hala TR karakter sorunu alıyorum :S
  • 27-05-2009, 11:42:32
    #6
    <?php header('Content-Type: text/HTML; charset=ISO-8859-9); ?>
    bu kodu koymayı denedin mi scriptinin en üstüne
  • 27-05-2009, 11:44:21
    #7
    ayar dosyalarına şunlarıda ekle

    mysql_query("SET NAMES 'latin5'");
    mysql_query("SET CHARACTER SET latin5");
    mysql_query("SET COLLATION_CONNECTION = 'latin5_turkish_ci'");
  • 27-05-2009, 13:47:06
    #8
    Üyeliği durduruldu
    simle xml den gelen veriyi stringe dönüştürürken ne hikmetse utf-8 e dönüştürüyor kendi kendine
    $adi = (string) $haber->adi;
    gibi yani

    $adi = mb_convert_encoding((string) $adi  , 'ISO-8859-9' , 'UTF-8');
    gibi bir kodla tarafimdan inceleme sonucunda sorun çözülmüştür
  • 27-05-2009, 15:05:54
    #9
    Kimlik doğrulama veya yönetimden onay bekliyor.
    mysql_query("SET NAMES 'latin1_swedish_ci'");
    mysql_query("SET character_set_connection = 'latin1_swedish_ci'");
    mysql_query("SET character_set_client = 'latin1_swedish_ci'");
    mysql_query("SET character_set_results = 'latin1_swedish_ci");
    Bøyle yaparsan duzelecektir aynisi benim basimada gelmisti db utf-8 destekliyordu
    Scriptimde db bagalanma ayarlari bøyleydi
    mysql_query("SET NAMES 'latin5'");
    mysql_query("SET CHARACTER SET latin5");
    mysql_query("SET COLLATION_CONNECTION = 'latin5_turkish_ci'");

    ne yaptim denedim olmadi hala karakter hatasi vardi Asagidaki gibi cevirdim sorun duzelmisti

    mysql_query("SET NAMES 'UTF-8'");
    mysql_query("SET character_set_connection = 'UTF-8'");
    mysql_query("SET character_set_client = 'UTF-8'");
    mysql_query("SET character_set_results = 'UTF-8'");