• 09-12-2015, 15:41:08
    #1
    Üyeliği durduruldu
    Merhabalar, daha önce böyle bir sorun yoktu her şey düzgün ilerliyordu birden hata almaya başladım fakat hata biraz farklı sadece belirli Türkçe karakterler gözükmemekte.

    Gözükmeyenler: ı ş ğ - İ Ş Ğ

    baktığımda fark ettim ki config dosyamda her şey düzgün olmasına rağmen bu harfler veritabanına da böyle post ediliyor ne yapmam lazım?
  • 09-12-2015, 20:28:08
    #2
    @AkincanD; biraz ucu açık bir soru olmuş. Öncelikle hangi karakter setini kullanıyorsunuz (utf8, iso-8859-9 vb.)

    utf8 üzerinden örnek vermek gerekirse izlemeniz gereken 3 yol var.

    - öncelikle <head> tagları içerisine <meta charset="utf-8" /> kodunu ekleyin.
    - olmazsa veritabanı bağlantınızı yaptıktan sonra mysql_query("SET NAMES 'utf8'"); kodunu yazın (eğer pdo veya farklı bir bağlanma şekli kullanıyorsanız SET NAMES 'utf8' sorgusunu exec etmeniz gerekmekte)
    - olmazsa veritabanındaki tablo ve sutunların karakter setinin utf8 olduğundan emin olun utf8 değilse utf8 olarak değiştirin.
    - yine olmazsa php dosyalarınızında yapısı utf8 (bomsuz) olmalıdır. notepad++ editörü üzerinden http://prntscr.com/9c87j9 birinci kırmızı ile işaretlediğim yerin seçili olduğundan emin olun eğer değilse 2. kırmızı ile işaretlediğim utf8 bom olmadan dönüştür seçeneğine tıklayıp kaydedin.

    - tüm bu işlemleri yapmadan önce sql ve ftp yedeğinizi komple alın. Eğer teknik bilginiz çok değilse iş verenler kısmında konu açıp ücretli destek almanızı öneririm. Çünkü yukarıda anlattığım işlemlerin bir kısmında db de geri döndürelemeyecek karakter bozulmalarıda yaşayabilirsiniz.
  • 09-12-2015, 20:30:15
    #3
    Üyeliği durduruldu
    yasarkemaldag adlı üyeden alıntı: mesajı görüntüle
    @AkincanD; biraz ucu açık bir soru olmuş. Öncelikle hangi karakter setini kullanıyorsunuz (utf8, iso-8859-9 vb.)

    utf8 üzerinden örnek vermek gerekirse izlemeniz gereken 3 yol var.

    - öncelikle <head> tagları içerisine <meta charset="utf-8" /> kodunu ekleyin.
    - olmazsa veritabanı bağlantınızı yaptıktan sonra mysql_query("SET NAMES 'utf8'"); kodunu yazın (eğer pdo veya farklı bir bağlanma şekli kullanıyorsanız SET NAMES 'utf8' sorgusunu exec etmeniz gerekmekte)
    - olmazsa veritabanındaki tablo ve sutunların karakter setinin utf8 olduğundan emin olun utf8 değilse utf8 olarak değiştirin.
    - yine olmazsa php dosyalarınızında yapısı utf8 (bomsuz) olmalıdır. notepad++ editörü üzerinden http://prntscr.com/9c87j9 birinci kırmızı ile işaretlediğim yerin seçili olduğundan emin olun eğer değilse 2. kırmızı ile işaretlediğim utf8 bom olmadan dönüştür seçeneğine tıklayıp kaydedin.

    - tüm bu işlemleri yapmadan önce sql ve ftp yedeğinizi komple alın. Eğer teknik bilginiz çok değilse iş verenler kısmında konu açıp ücretli destek almanızı öneririm. Çünkü yukarıda anlattığım işlemlerin bir kısmında db de geri döndürelemeyecek karakter bozulmalarıda yaşayabilirsiniz.
    1. dediğiniz yapılı, 2. dediğiniz yapılı, daha doğrusu hepsi yapılı hocam yinede böyle bir hata var.
  • 09-12-2015, 22:51:37
    #4
    utf8 bomsuz kodlayın mysql general_ci olarak yapın
  • 10-12-2015, 00:02:37
    #5
    Üyeliği durduruldu
    Alıntı
    mb_detect_encoding($degisken);
    Yukarıdaki şekilde yazının charsetini tespit edip, alttaki şekilde utf-8 convert ettir. Ayrıca sayfadaki charset metasının karakterinin utf8 olduğundan emin ol.

    Alıntı
    iconv("var olan charset","UTF-8",$degisken);
  • 12-12-2015, 13:24:09
    #6
    Üyeliği durduruldu
    weStarz adlı üyeden alıntı: mesajı görüntüle
    Yukarıdaki şekilde yazının charsetini tespit edip, alttaki şekilde utf-8 convert ettir. Ayrıca sayfadaki charset metasının karakterinin utf8 olduğundan emin ol.
    Post ederkenmi yoksa veriyi çekerkenmi hocam?
  • 12-12-2015, 23:58:04
    #7
    Üyeliği durduruldu
    AkincanD adlı üyeden alıntı: mesajı görüntüle
    Post ederkenmi yoksa veriyi çekerkenmi hocam?
    Post ederken.