Soru & Cevap

Mysql verilerini json'a aktarırken Türkçe karakter soru ...

04.03.2014 - 04:36

Merhaba, Mysql, database, json'dan annlayan arkadaşlara soruyorum. Mysql'den php yardımıyla tablo verilerini json çıktısı halinde alıyorum. Verilerde türkçe karakter olunca "?" ya da "\ssd54s" gibi değerler geliyor. Bunu nasıl çözebilirim? Amacım Mysql'deki verileri listview'e çekmek. Android kodu tamam, tıkır tıkır işliyor, ama tr karakter işi bozuyor :(

26 Görüntülenme

2 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

picture-57989-1451678910.jpg
serdarşen
20.04.2016 - 07:19

Merhaba Furkan, aynı sorunu olanlar için yazayım dedim. aşağıdaki yöntem etkili olabilir.

 

//veritabanına bağlanır.
    $con= mysqli_connect($host, $user, $pass, $db);
    mysqli_set_charset($con,"utf8");

 

picture-19354-1419383480.jpg
abalta
25.02.2015 - 07:49

Şimdi ilk olarak json verilerini çektiğiniz yeri tarayıcıda çalıştırdığınızda orada da mı türkçe karakter hatası oluşuyor. Eğer o şekilde ise php tarafında aşağıdaki kodu kullanabilirsin.

[code]     $result = array();
     $queryforauto = mysql_query("SELECT vocabulary FROM dictionary");
     
    function json_turkce($dizi){
    foreach($dizi as $record){ 
        foreach($record as $key=>$og){
            $colm[]='"'.$key.'":"'.$og.'"';
        }
        $rec[]='{'.implode(',', $colm).'}';
        unset($colm);
    }
    $sonuc='['.implode(',', $rec).']';
    return $sonuc;
    }
     
     while($all = mysql_fetch_array($queryforauto))
     {
        $result[] = $all; 
     }
      echo json_turkce($result);
      mysql_close($con);
      ?>[/code]

Yok, uygulama tarafında sorun varsa, JsonParser kütüphanesini mi kullanıyorsun bilmiyorum ama, orada encode kısımlarını kontrol edebilirsin. Elimde eski ama kullanışlı bir JsonParser sınıfı var. Onu da gönderiyorum inceleyebilirsin.

/sites/default/files/cevaplar/dosya/2020/file-json.txt