34 lines
811 B
PHP
34 lines
811 B
PHP
<?php
|
|
|
|
namespace App\Libraries;
|
|
|
|
/**
|
|
* Replikasi perilaku utf8ize() dari CI3 Json controller (string ISO-8859-1 → UTF-8).
|
|
* Catatan: password/token tetap legacy (MD5 / token kolom) — lihat docs/migration/risks.md.
|
|
*/
|
|
class LegacyUtf8Encoder
|
|
{
|
|
/**
|
|
* @param mixed $d
|
|
*
|
|
* @return mixed
|
|
*/
|
|
public static function utf8ize($d)
|
|
{
|
|
if (is_array($d)) {
|
|
foreach ($d as $k => $v) {
|
|
$d[$k] = self::utf8ize($v);
|
|
}
|
|
} elseif (is_string($d)) {
|
|
// Samakan dengan CI3 json.php utf8_encode() (Latin-1 → UTF-8).
|
|
if (function_exists('utf8_encode')) {
|
|
return @utf8_encode($d);
|
|
}
|
|
|
|
return mb_convert_encoding($d, 'UTF-8', 'ISO-8859-1');
|
|
}
|
|
|
|
return $d;
|
|
}
|
|
}
|