PHP で文字エンコードを変更するには?

ショコラ
ショコラ

PHP で文字エンコードを変更するには?

mb_convert_encodingmb_convert_variables を使います。

【仕様】
mb_convert_encoding(
array|string $string,
 string $to_encoding,
 array|string|null $from_encoding = null
): array|string|false

mb_convert_variables(
    string $to_encoding,
    array|string $from_encoding,
    mixed &$var,
    mixed &…$vars
): string|false

EUC の場合、EUC-JP ではなく eucjp-win にしています。
こちらの方が Windows拡張文字 も変換してくれるので良いです。

もっさん先輩
もっさん先輩

EUC-JP から UTF-8 に変換

$str = mb_convert_encoding($str,'UTF-8','eucjp-win');
$var= mb_convert_variables('UTF-8','eucjp-win',$var);

EUC-JP から UTF-8 に変換

$str = mb_convert_encoding($str,'eucjp-win','UTF-8');
$var= mb_convert_variables('UTF-8','eucjp-win','UTF-8');

以上

Scroll to Top