JSON_UNESCAPED_UNICODE
Üdv!
Mivel php 5.2-t használunk, ezért json_encode($array, UNESCAPED_UNICODE) sajnos nem elérhető.
A problémám az ékezetes karakterekkel van. Találtam néhány függvényt erre, ami eddig a leghasználhatóbbnak tünt az ez:Nos ez működött is egy ideig, amíg nem használtam többdimenzós tömböt. Próbáltam hackelni, de egyszerűen nem jövök rá, hogy miért nem megy több dimenziós tömb esetén.
Tud valaki esetleg valami jobb megoldást ennél?
Köszi a segítséget előre is!
■ Mivel php 5.2-t használunk, ezért json_encode($array, UNESCAPED_UNICODE) sajnos nem elérhető.
A problémám az ékezetes karakterekkel van. Találtam néhány függvényt erre, ami eddig a leghasználhatóbbnak tünt az ez:
function json_encode_string($in_str)
{
mb_internal_encoding("UTF-8");
$convmap = array(0x80, 0xFFFF, 0, 0xFFFF);
$str = "";
for($i=mb_strlen($in_str)-1; $i>=0; $i--)
{
$mb_char = mb_substr($in_str, $i, 1);
if(mb_ereg("&#(\\d+);", mb_encode_numericentity($mb_char, $convmap, "UTF-8"), $match))
{
$str = sprintf("\\u%04x", $match[1]) . $str;
}
else
{
$str = $mb_char . $str;
}
}
return $str;
}
function php_json_encode($arr)
{
$json_str = "";
if(is_array($arr))
{
$pure_array = true;
$array_length = count($arr);
for($i=0;$i<$array_length;$i++)
{
if(! isset($arr[$i]))
{
$pure_array = false;
break;
}
}
if($pure_array)
{
$json_str ="[";
$temp = array();
for($i=0;$i<$array_length;$i++)
{
$temp[] = sprintf("%s", php_json_encode($arr[$i]));
}
$json_str .= implode(",",$temp);
$json_str .="]";
}
else
{
$json_str ="{";
$temp = array();
foreach($arr as $key => $value)
{
$temp[] = sprintf("\"%s\":%s", $key, php_json_encode($value));
}
$json_str .= implode(",",$temp);
$json_str .="}";
}
}
else
{
if(is_string($arr))
{
$json_str = "\"". json_encode_string($arr) . "\"";
}
else if(is_numeric($arr))
{
$json_str = $arr;
}
else
{
$json_str = "\"". json_encode_string($arr) . "\"";
}
}
return $json_str;
}
Tud valaki esetleg valami jobb megoldást ennél?
Köszi a segítséget előre is!
Jav: json_encode($array,
:)
egyszerűen nem jövök rá, hogy
Tegnap 2-3 órát minimum
Annyira nem hosszú ez a kód.
drupal_json_encode_helper
base64
JavaScript
Valamit valamiért. Egyébként
Felesleges
Doksi
http://hu.php.net/manual/en/function.json-encode.php#107369
Megmondom őszintén, hogy ezt