トップ 差分 一覧 ソース 検索 ヘルプ PDF RSS ログイン

mbstring_PHP

文字コード変換(mbstring)

EUCからShift-JISに文字コード変換したい場合、「mbstring」機能を有効にすることにより、便利な関数群が使えるようになります。

php.iniにて、以下の2カ所を有効にすることにより「mbstring」関連の関数が使えるようになります。

extension_dir = "C:\Program Files\php-4.3.10-Win32\extensions\"
extension=php_mbstring.dll

「extension_dir」では、PHPをインストールしたディレクトリ内の「extensions」ディレクトリをフルパスで指定します。php.iniより「extension=php_mbstring.dll」の行を探し、先頭にあるセミコロン「;」を解除してい有効にします。

この状態でApacheを再起動することで、PHPにてmbstring関連の関数が使えるようになります。

文字コードを変換する(EUC → SJIS)

$orgVal = "何か文字列";
$sVal = mb_convert_encoding($orgVal, "SJIS", "EUC-JP");

「mb_convert_encoding」関数にて、第一引数で指定した文字列を第三引数の文字コード(ここでは「EUC-JP」)から第二引数の文字コード(ここでは「SJIS」)に変換します。その結果を戻り値として返します。

実際、HTMLへの出力はEUC、PHPでもEUC、データベースもEUCで扱う場合にどこで文字コード変換が必要なのか、と疑問に思う方もいるかもしれません。

例えば、Microsoft ExcelのCSVをPHPからはき出したい場合があるとします。この場合、文字コードはShift-JISである必要があります。その他、テキストファイルを出してWindows環境で見たい場合、などなど外部ファイルを出すときにまれに使いたいときがあります。

その他、「UTF-8」「JIS」などの文字コードも第二・第三引数で指定することが可能です。

Future's Laboratory 技術格納庫 2004-2013 Yutaka Yoshisaka.