Merhaba,
Bende aynı konuyu üzerine çalışıyordum. Benim de karakter setim sizinki gibi iso-8859-9 olarak ayarlanmış durumda. Sizde farkına varmışsınız zaten json_encode() fonksiyonu utf-8 dışındaki karakter setlerini desteklemiyor. http://www.php.net/manual/tr/function.json-encode.php sitesinden bulduğum bir fonksiyon ile sorunu çözerim hevesine kapılmıştım fakat sonuç başarılı olmadım. Sonunda dün akşam geç saatlerde json_encode() fonksiyonunu kullanmak yerine db den okunan verileri json formatına çeviren bir fonksiyon yazdım. Şuan iş yerimdeyim ve fonksiyon evdeki bilgisayarımda L . kod yanımda olmadığı için paylaşamayacağım . Size tavsiyem, benim yaptığım gibi bir fonksiyon yazarak onunla veriyi json formatında çevirmeniz olacak. Böylece diğer projeleriniz de de bu fonksiyonu kullanarak, karakter kodlaması farklı olduğu için problem yaşamamış olursunuz. ------------------------------------------------------------------------ Beklan İŞERİ Computer Center Cyprus International University Tel: +90 (392) 671 11 11 - Extension: (2823) From: [email protected] [mailto:[email protected]] On Behalf Of ahmet erdogan Sent: Wednesday, January 11, 2012 11:36 AM To: [email protected] Subject: [Linux-programlama] Re: json türkçe karakter problemi iconv ile kodlama değiştirerek sıkıntıyı çözdüm arkadaşlar... meğer JSON utf8 dışında karakter seti desteklemiyormuş 11 Ocak 2012 10:49 tarihinde ahmet erdogan <[email protected]> yazdı: Merhabalar, Firebird veritabanımdan aşağıdaki şekilde veri çekiyorum ancak gelen verilerde türkçe karakter olduğunda "parse error" hatası alıyorum ajax yordamı içerisinde, contentType: 'application/json; charset=ISO-8859-9', ve header('Content-type: text/html; charset=iso-8859-9'); gibi belirtmeler yaparak denedim sonuç değişmedi konu hakkında yardımcı olabilecek arkadaşlara şimdiden teşekkürler // index.php $('#duzelt').click(function(){ $.ajax({ url:'formudoldur.php', type: "POST", data: "id=1", dataType: "json", success:function(veri){ $.each(veri, function(i,ret){ alert(ret.isim); }) }, error : function(x,hata){ alert("hata : " + hata); } }); }); // formudoldur.php <?php .... $dizi = array(); while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) { array_push($dizi, $row); } echo json_encode($dizi); ?> NOT : Firebird DB Charset ve html encoding ISO-8859-9 olarak ayarlı
_______________________________________________ Linux-programlama mailing list [email protected] https://liste.linux.org.tr/mailman/listinfo/linux-programlama Liste kurallari: http://liste.linux.org.tr/kurallar.php
