Merhabalar
PHP'nin 5.3 altı versiyonlarında json oluştururken json_encode metodununu kullandığımızda için türkçe karakter bulunan alanları boş olarak atıyor. Bu problemi gidermek için kendimiz bir JsonEncode metodu oluşturacağız
function JsonEncode($array){
// return json_encode(Utf8Json($array));
return Utf8ToAnsi(json_encode(Utf8Json($array)));
}
private function Utf8Json($inArray) {
$newArray = array();
foreach($inArray as $key=>$val) {
if(is_array($val)) {
$newArray[$key] = self::Utf8Json($val);
} else {
$newArray[$key] = utf8_encode($val);
}
}
return $newArray;
}
private static function Utf8ToAnsi($valor='') {
$utf8_ansi2 = array(
"\u00de" =>"Ş",
"\u00fe" =>"ş",
"\u00f0" =>"ğ",
"\u00d0" =>"Ğ",
"\u00fd" =>"ı",
"\u00dd" =>"İ",
"\u00d6" =>"Ö",
"\u00f6" =>"ö",
"\u00dc" =>"Ü",
"\u00fc" =>"ü",
"\u00c7" =>"Ç",
"\u00e7" =>"ç",
);
return strtr($valor, $utf8_ansi2);
}
Kullanımı
$obj->durum = "1";
$obj->mesaj = 'Json Başarı İle Oluşturuldu';
header('Content-Type: application/json;charset=ISO-8859-9');
echo JsonEncode($obj);
Yorumlar
Yorum Gönder