2012/5/9 Mehmet Gürevin <mehmetgure...@gmail.com> > Selam, > > Öncelikle: > http://mail.linux.org.tr/pipermail/linux-programlama/2012-February/thread.html#13984 > > UTF-8 ve ISO-8859-9 alt kümeleri birbiri ile uyumlu değiller. Dolayısı ile > UTF-8 kodlamada çalışan bir sisteme ISO-8859-9 veri gönderirseniz karakter > eşleşme sorunları ile karşılaşırsınız. > > MySQL'de collation kısmı ise sadece karşılaştırmalarda kullanılan mappingi > belirtiyor. MySQL söz konusu olduğunda şu 3 kriteri sağlarsanız bir sıkıntı > yaşamazsınız; > 1. Verinin saklandığı field utf8 olmalı > 2. Aktif connection için bağlantı karakter seti utf8 olmalı. (kısayol: set > names utf8) > 3. Kaydedilmek için gönderdiğiniz veri utf8 kodlanmış olmalı. > > Bahsettiginiz mailleri okudum. Ozellikle sunu http://mail.linux.org.tr/pipermail/linux-programlama/2012-February/013997.html Kullandigim tablo ve dosyalarda bir kodlama sorunu olmadigina ve mysql ve phpnin de genel olarak dogru ayarlandigina inanmis olmama ragmen bugun benzer bir sorun ile karsilastim. Sorun bir onceki ile tam ayni degil. Oncekinde mysql utf8 tabloya verileri load data infile ile yuklemistim. Collation utf8_turkish_ci olunca durum duzelmisti (nedense?).
Bu sefer benzer bir tabloya sql insert cumleleri kullanarak yukledim. Yukledigim dosyanin kodlamasi utf8 olmasina ragmen sql cumlesini calistirdigimda tabloya eklenen veriler farkli kodlamadaydi. Dosyayi Iso8859-9 yapinca duzelme oluyordu ama İ,Ş gibi karakterler kotu cikiyordu. Bunu cozmek icin verileri load data infile ile baska bir tabloya atip oradan hedef tabloya insert ettim. Bu sekilde oldu. Direk hedef tabloya load data ile yukleyemedim, cunku foreign key vardi,yukletmedi. Dolayisiyla buradan anladigim load data infile ile yukleyince dogru calisabilen bir seyin insert komutlariyla calismamasi oldu. Bu satirlari yazarken, bu sorunun sebebi olarak mysqle baglanti farkliliklarinin olabilecegi aklima geldi. Yani mysql>load data infile .... ile # mysql hedeftablo -u user -p < insert.sql seklindeki 2 farkli baglantinin buna sebep olup olmayacagini dusunuyorum simdi de. Eger mysql promptundayken baglanti kodlamasi utf8 ve bash uzerinden baglaninca latin1 ise boyle bir sorun yasamis olmam dogal olabilir mi? mysql version 5.0.95
_______________________________________________ Linux-programlama mailing list Linux-programlama@liste.linux.org.tr https://liste.linux.org.tr/mailman/listinfo/linux-programlama Liste kurallari: http://liste.linux.org.tr/kurallar.php