Arama butonu
Bu konudaki kullanıcılar: 1 misafir
3
Cevap
718
Tıklama
0
Öne Çıkarma
Php den türkçe okutup veya yazdıramıyorum (mysql)
J
18 yıl (635 mesaj)
Yüzbaşı
Konu Sahibi

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...

DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.

Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.

Üye Ol Şimdi Değil



M
18 yıl (5597 mesaj)
Yarbay

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");


Bu mesaja 1 cevap geldi.
A
18 yıl (4116 mesaj)
Yarbay

Ayrıca mysql deki alanların latin1 değil latin5 olarak ayarlanması gerekir.


Bu mesaja 1 cevap geldi.
S
18 yıl (6712 mesaj)
Binbaşı

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.



DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.