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

Cevap