mb_convert_variables

mb_convert_variablesっていう関数があることを知った。渡した変数(配列を含む)の文字エンコーディングの変換をしてくれる。
使い方は:

mb_convert_variables('UTF-8', 'EUC-JP', &$src);

参照渡しで変換したい変数を参照渡しで引数に設定する。

今まではこうやってた:

$src = conv($src, 'UTF-8', 'EUC-JP');
function conv($src, $to, $from)
{
  if (is_array($src)) {
    foreach ($keys as $key => $value) {
      $src[$key] = conv($value, $to, $from);
    }
    return $src;
  }
  return mb_convert_encoding($src, $to, $from);
}

mb_convert_variablesを使うと記述が短くなってとてもいい感じ。