Şimdi Ara

Php den türkçe okutup veya yazdıramıyorum (mysql)

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
4
Cevap
0
Favori
638
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Arkadaşlar actionscript-php-mysql le yaptığım bir yönetim paneli var .... flashtan türkçe karakterler düzgünce php ye gönderiliyor ve alınabiliyorda burda sorun yok ..ama php den mysql e yazdırmak istediklerim mysqlde abuk harfler olarak çıkıyo ortaya mysql tabloda türkçe karakter desteği var bunun yanında php tabloya manuel olarak panelden girdiğimde türkçe karakterleri php okuma dosyasını çalıştırdığımda yine türkçe olarak okumuyor...



  • mysql_connect(...) 'in hemen altına şu kodu yapıştırdıktan sonra bir deneyin bakalım.

    mysql_query("SET NAMES 'latin5'");  
    mysql_query("set SESSION character_set_client = latin5");
    mysql_query("set SESSION character_set_connection = latin5");
    mysql_query("set SESSION character_set_results = latin5");
  • Ayrıca mysql deki alanların latin1 değil latin5 olarak ayarlanması gerekir.
  • sorunun cevabını bilmiyorum ama mantığı şöyle açıklayabilirim,

    web sayfasından gönderdiğin verileri php öncden belirlenen karakter setiye kodlayıp mysql e gönderir. varsayılan utf8 di yanlış hatırlamıyorsam. eğer böyleyse php gönderirken doğru gönderiyor demektir. mysql de utf8 şeklinde saklıyorsa sorun olmayacaktır.

    bundan şunu çıkartabiliriz,

    1. ya php verileri mysql e yazarken Türkçe karakterlerin içermediği bir karakter seti kullanıyor(yani geçerli utf8 karakter seti değiştirilmiş olabilir)
    2 yada mysql utf8 biçiminde veri tutamıyor. bu genel sunucu ile ilgili bir sorunda olabilir(eskiden genelde oluyordu, şimdi pek yok ama) yada tablonun kendi karakter setinin türkçe karakterleri desteklemeyen bir karakter seti olmasından kaynaklanabilir.

    ama madem flash düngün gönderiyo ozaman sorun yok mysql server da veya tablolarda.

    ilkten
    echo mb_internal_encoding();
    komutuyla hangi karakter setinni geçerli olduğunu öğren, eğer utf8 değilse php sayfalarını en başuna şunu ekleyip dene
    mb_internal_encoding("UTF-8");

    belki çözülür.




  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.