• 04-06-2014, 11:16:41
    #1
    Merhabalar;

    Çok olağan dışı bir durumla karşı karşıyayım. Her şey gayet normal çalışıyordu, benim hatırladığım bir güncelleme yapmadım, charset UTF-8, veritabanında ve php dosyalarda da böyle kayıtlı. Bir php dosyasında veritabanına kayıt işlemi gerçekleştirmeye çalışıyorum, tek bir dosya sadece veritabanı bağlantı php dosyası include ediliyor.
    Onda da
    mysql_query("SET NAMES 'utf8'");
    şeklinde kodum ekli durumda. Nedendir bilinmez türkçe karakterden sonraki kısmı kesiyor ve veritabanına eklemiyor. utf8 değştirdiğimde misal latin5 yapıyorum, veri gidiyor ancak misalen ªÓ«®«ßi«»«ä şeklinde.

    Php dosyalarda bir şey değişmediğinden, phpmyadmin de veya sunucu tarafında bir şey değişmiş gözüküyor.

    Bu probleme ne sebep olabilir?
  • 04-06-2014, 12:41:13
    #2
    Veritabanı tablolarının utf8_general_ci olduğundan emin olun.
    Dosyanın UTF8 olduğundan emin olun.
    Dosyanıza aşağıdaki kodları ekleyin ve tekrar deneyin.

    mysql_query("SET NAMES 'UTF8'");
    	mysql_query("SET CHARACTER SET UTF8");
    	mysql_query("SET COLLATION_CONNECTION = 'utf8_general_ci'");
  • 04-06-2014, 12:57:57
    #3
    Eyvallah hocam, bu kodları da denemiştim ancak olmamıştı. Sonra hafızamı yokladım son zamanlarda sunucuda ne değiştirdim diye. mbstring diye bir modül var onu aktifleştirmekle uğraşırken php.ini içerisinde mbstring.encoding_translation kısmını off dan on a getirmişim. Normalde mbstring aktifleştirirken easyapache kullanılıyormuş. Neyse Bu mbstring.encoding_translation satırını eski haline getirdim off yaparak sorunum çözüldü hamdolsun.