• 01-03-2024, 15:24:49
    #1
    Arkadaşlar selam,

    Çok ilginç bir sorunum var nereden kaynaklı olduğunu bulamadım. öncelikle bu sorunu local de yaşamadığım bilgisini veriyim.

    Bir teknik servis uygulamam var, php ve mysql ile çalışıyor. Basit bir ekleme işlemi yapıyorum ve anasayfamda gösteriyorum. Herşey problemsiz şekilde ekleniyor, güncelleme de yapabiliyorum bütün verilerim türkçe karakter destekli şekilde geliyor. Fakat phpmyadmin tablomda verilerde türkçe karakter hataları görüyorum. Veritabanı, tablolar dahil hepsi utf8mb4_turkish_ci ( general de denendi ) . Veritabanı da türkçe dile uygun, hatta phpmyadmin'in dilini bile türkçe yaptım. Kullandığım hosting firması Güzel Hosting.

    Sebebi nedir acaba :/
  • 01-03-2024, 15:26:14
    #2
    Forma Dünyam

    Türkçe karakter hatası dediğiniz böyle bir şeyse xml açığı için aldığınız önlemden kaynaklı olabilir.
  • 01-03-2024, 15:26:28
    #3
    utf8_turkish_ci denediniz mi?
  • 01-03-2024, 15:26:51
    #4
    Sadece utf8_turkish_ci deneyin hocam yada latin5
  • 01-03-2024, 15:31:15
    #5
    Post ve insert edilirken kontroller ekleyin verinin değişmediğinden eminseniz hatayı dbde aramaya devam edin. Muhtemelen post edilirken bozuluyordur. Varsa kullandığınız editorün ayarları veya input kaynaklıda olabilir.
  • 01-03-2024, 15:36:40
    #6
    Hızlı yanıtlarınız için çok teşekkür ederim.

    utf8_turkish_ci denedim hata devam ediyor.

    1Test Arızası Yaşanıyor Test Arızası Yaşanıyor Test Arızası Yaşanıyor Test Arızası Yaşanıyor Test Arızası Yaşanıyor Test Arızası Yaşanıyor Test Arızası Yaşanıyor Test Arızası Yaşanıyor Test Arızası Yaşanıyor Test Arızası Yaşanıyor Test Arızası Yaşanıyor Test Arızası Yaşanıyor Test Arızası Yaşanıyor Test Arızası Yaşanıyor Test Arızası Yaşanıyor

    Tablomda ki verilerim bu şekilde görünüyor. İçine girip düzenleme yaptığımda Türkçe karakter problemi olmadan görünüyor. XML açığı için önlemlerim oldu evet ama, veritabanının geri dönüşünde Türkçe karakter hatası vermesi gerekmez miydi?

    @lancelot; hocam hata bulamadım maalesef, çok ilginç gerçekten
  • 01-03-2024, 15:38:52
    #7
    resuloztas adlı üyeden alıntı: mesajı görüntüle
    Hızlı yanıtlarınız için çok teşekkür ederim.

    utf8_turkish_ci denedim hata devam ediyor.

    1Test Arızası Yaşanıyor Test Arızası Yaşanıyor Test Arızası Yaşanıyor Test Arızası Yaşanıyor Test Arızası Yaşanıyor Test Arızası Yaşanıyor Test Arızası Yaşanıyor Test Arızası Yaşanıyor Test Arızası Yaşanıyor Test Arızası Yaşanıyor Test Arızası Yaşanıyor Test Arızası Yaşanıyor Test Arızası Yaşanıyor Test Arızası Yaşanıyor Test Arızası Yaşanıyor

    Tablomda ki verilerim bu şekilde görünüyor. İçine girip düzenleme yaptığımda Türkçe karakter problemi olmadan görünüyor. XML açığı için önlemlerim oldu evet ama, veritabanının geri dönüşünde Türkçe karakter hatası vermesi gerekmez miydi?

    @lancelot; hocam hata bulamadım maalesef, çok ilginç gerçekten
    Mobildeyim birazdan çözümü yazacağım
  • 01-03-2024, 15:54:12
    #8
    Öncelikle Veritabanı ana sayfasında işlemler kısmına geçin ardından karşılaştırma bölümündeki dili utf8_turkish_ci olarak değiştirin.
    Daha sonra hata düzelmezse post işleminin yapıldığı dosyayı açın
    charset: utf8 olmalı
    Sorun çözülmezse veritabanı bağlantısının yapıldığı dosyayı açın muhtemelen PDO kullanıyorsunuz kodu aşağıdaki kod ile benzer hale getirin:
    try {
        $conn = new PDO("mysql:host={$config['host']};dbname={$config['database']};charset=utf8mb4", $config['username'], $config['password']);
        $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        $conn->exec("set names utf8mb4");
    } catch(PDOException $e) {
        // Bağlantı hatası durumunda yapılacak işlemler
    }
    Burada önemli olan kısım şurası: $conn->exec("set names utf8mb4");


    Daha sonra çözüme ulaşmazsa haber edin birlikte bakalım
  • 01-03-2024, 16:16:25
    #9
    mebularts adlı üyeden alıntı: mesajı görüntüle
    Öncelikle Veritabanı ana sayfasında işlemler kısmına geçin ardından karşılaştırma bölümündeki dili utf8_turkish_ci olarak değiştirin.
    Daha sonra hata düzelmezse post işleminin yapıldığı dosyayı açın
    charset: utf8 olmalı
    Sorun çözülmezse veritabanı bağlantısının yapıldığı dosyayı açın muhtemelen PDO kullanıyorsunuz kodu aşağıdaki kod ile benzer hale getirin:
    try {
        $conn = new PDO("mysql:host={$config['host']};dbname={$config['database']};charset=utf8mb4", $config['username'], $config['password']);
        $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        $conn->exec("set names utf8mb4");
    } catch(PDOException $e) {
        // Bağlantı hatası durumunda yapılacak işlemler
    }
    Burada önemli olan kısım şurası: $conn->exec("set names utf8mb4");


    Daha sonra çözüme ulaşmazsa haber edin birlikte bakalım
    hocam çok çok teşekkür ederim. mysqli kullanıyordum. yinede set names etmek işe yaradı.

    $conn = new mysqli($servername, $username, $password, $database);
    $conn->set_charset("utf8mb4");

    aynı sorunu yaşayan arkadaşlar içinbende iletmiş olayım. vt bağlantısı sonrası charset ayarlaması yeterli oldu.