PHP:配列変数まとめて文字コード変換したいならmb_convert_variables()使うといいよ


mb_convert_variables

知っておくと便利なPHPの基本。

PHPで日本語文字コード変換したいときは、

$string = mb_convert_encoding($string,'UTF-8','SJIS-win');

ですね。
第一引数 : 変換したい文字列
第二引数 : 変換先の文字エンコード
第三引数 : 変換元の文字エンコード

上の例の場合だと、$stringに格納された文字列をSJISからUTF-8に変換して返します。

さて、これと似たような関数で、配列に格納された文字列を配列毎文字コード変換してくれる関数を知っておくと便利です。

mb_convert_variables('UTF-8','SJIS-win',$str_array);

第一引数 : 変換先の文字エンコード
第二引数 : 変換元の文字エンコード
第三引数 : 配列など文字列を含む変数

引数の順番がmb_convert_encoding()と微妙に異なるところが、おちゃめですね。
第三引数は参照渡しであることにも留意してください。戻り値を変数に代入しなくても変換された文字列が第三引数に格納されています。

データベースやファイルから取得してきたデータの文字コードを一気に変換したい場合などに便利ですね。

タグ:
カテゴリー: PHP

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

カテゴリー