今日の人気記事

  1. HTML内でPHPスクリプトを実行 - 埋め込み
  2. PHP + Apache 環境の構築
  3. PHPのダウンロードとインストール - Windows環境
  4. PHP + Apacheのインストール - Linux環境 - CentOS
  5. 外部コマンドを実行 - exec()、system()

文字列のエンコーディングを変換 - mb_convert_encoding()

スポンサーリンク

プログラミング言語PHPで、指定した文字列のエンコーディングを変換する関数 mb_convert_encoding()を紹介します。

mb_convert_encoding関数

string mb_convert_encoding ( string $str, string $to_encoding [, mixed $from_encoding ] )
指定した文字列のエンコーディングを変換します。
引数
$str
エンコーディングを変換する文字列を指定します。
$to_encoding
変換するエンコーディングを指定します。
$from_encoding
変換前の文字列のエンコーディングを指定します。
指定しない場合は内部エンコーディングが使われます。
"auto"を指定した場合、mb_detect_order関数で取得するエンコーディング順に
文字列に合うエンコーディングが選択されます。
返り値
エンコーディングを変換した文字列を返します。
スポンサーリンク

サンプルコード

指定した文字列のエンコーディングを変換するサンプルコードです。

mb_convert_encoding( 文字列, 変換後のエンコーディング, 変換前のエンコーディング )
<?php
$string = "文字列を変換するってばよ";

/* 内部エンコーディング → SJISへ変換 */
echo mb_convert_encoding( $string, "SJIS" ) . "\n";

/* EUC-JP → UTF-8へ変換 */
echo mb_convert_encoding( $string, "UTF-8", "EUC-JP" ) . "\n";
?>

実行結果です。内部エンコーディングは「UTF-8」なので、当然文字化けします……。

??????????????????????????????????????
??絖?????紊????????c???違??

内部エンコーディングの異なるサーバーから受け取ったファイルやHTMLの解析などのときに利用すると便利です。

スポンサーリンク