2008年2月11日月曜日

PHPで変数の文字コード変換が一撃で出来るとは知らなかったよorz

ある変数(配列とかも)の文字コードをどかっと変換したい時、今まで自前でフィルターつくってガリガリやっていたのですが、なんとPHPにはmb_convert_variablesって関数があるんですね。知らんかったorz。はずかすい。

以下検証してみました。
tryconv.phpはEUC-JPで作成。

tryconv.php
<?php

$t = array(
"a" => "あかさたな",
"b" => array(
"は",
"ま",
"や",
array(
"c" => "らわ"
),
),
);

mb_convert_variables("UTF-8", "EUC-JP", $t);
var_dump($t);


で、結果がこうなりました。
(Terminalの文字コードはUTF-8です)
[ cohtan@macbook ~ ] $ php tryconv.php
array(2) {
["a"]=>
string(15) "あかさたな"
["b"]=>
array(4) {
[0]=>
string(3) "は"
[1]=>
string(3) "ま"
[2]=>
string(3) "や"
[3]=>
array(1) {
["c"]=>
string(6) "らわ"
}
}
}


配列でもちゃんと変換してくれているようですね。
今度からこれ使おう。

0 件のコメント:

久しぶりにブログを書く

最初ログインできなくて焦った。 いや、ログインはできたのだが、ログイン後に自分のブログの管理画面に遷移できず、新しいブログを作成する画面になってしまったからビビッてしまった。 どうやら、Google+(現在はサービス終了)に紐づいたプロフィールを設定しているとこのような状況に陥る...