<?php
$User = array(
'Name' => "Hans-Peterµµ",
'Contacts' => array(1, 2, 3, 4, 5, 6, 7, 42),
'Active' => 1
); foreach ($User as &$val) {
$val = preg_replace_callback('/\\\\u([0-9a-f]{4})/i',
function($matches) {
return mb_convert_encoding(pack('H*', $matches[1]), 'UTF-8', 'UTF-16');
}, $val);}
$J = json_encode(array_utf8_encode($User));
echo $J;
function array_utf8_encode($Array)
{
foreach($Array as &$Val)
{
if(is_array($Val))
{
$Val = array_utf8_encode($Val);
}
elseif(is_string($Val))
{
$Val = mb_convert_encoding($Val, 'UTF-16');
}
}
return $Array;
}
- Output for 5.5.0 - 5.5.38, 5.6.0 - 5.6.40, 7.0.0 - 7.0.33, 7.1.0 - 7.1.33, 7.2.0 - 7.2.34, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.6
- Output for 5.4.0 - 5.4.45
- {"Name":null,"Contacts":["\u00001","\u00002","\u00003","\u00004","\u00005","\u00006","\u00007","\u00004\u00002"],"Active":"\u00001"}
preferences:
237.15 ms | 401 KiB | 383 Q