<?php
error_reporting(-1);
$data = array (
'tram B' =>
array (
0 =>
array (
'name' => 'Ile Verte' ,
'distance' => 298,
'stationID' => 762,
),
1 =>
array (
'name' => 'La Tronche Hôpital' ,
'distance' => 425,
'stationID' => 771,
),
),
16 =>
array (
0 =>
array (
'name' => 'Bastille',
'distance' => 531,
'stationID' => 397
),
1 =>
array (
'name' => 'Xavier Jouvin',
'distance' => 589,
'stationID' => 438,
),
),
);
$data['tram B'][1]['name'] = iconv('UTF8', 'ISO-8859-1', $data['tram B'][1]['name']);
$fromEncoding = 'ISO-8859-1'; // This depends on the data
array_walk_recursive($array, function (&$value, $key, $fromEncoding) {
if (is_string($value)) {
$value = iconv($fromEncoding, 'UTF-8', $value);
}
}, $fromEncoding);
var_dump(
mb_detect_order(),
mb_detect_encoding($data['tram B'][1]['name']),
mb_detect_encoding($data['tram B'][1]['name'], array('ISO-8859-1', 'UTF-8')),
json_encode($data)
);
preferences:
40.28 ms | 402 KiB | 5 Q