今日の人気記事

  1. 配列を文字列に変換する - implode()
  2. Apache + PHPの設定と動作確認 - Windows10
  3. 簡単なPHPスクリプトを動かしてみよう
  4. ファイルから1行ずつ読み込む - fgets()
  5. ユニークなファイル名の一時ファイルを作成 - tempnam()

文字列のエンコーディングを変換 - 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の解析などのときに利用すると便利です。

文字列 の人気記事

  1. 配列を文字列に変換する - implode()
  2. 文字列の長さを取得 - strlen()、mb_strlen()
  3. 区切り文字列を配列に変換 - explode()
  4. 文字列を指定した幅に調節 - mb_strimwidth()
  5. 指定した文字列以降の文字列を取得 - strstr()、strchr() - mb_strstr()
  6. 文字列をエスケープ・アンエスケープ - addslashes()、stripslashes()
  7. JSON形式の文字列をオブジェクト、連想配列にデコード - json_decode()
  8. 文字をASCIIコードに変換 - ord関数
  9. ASCIIコードを特定の文字に変換 - chr()
  10. 文字列の一部分を取得 - substr()、mb_substr()

関連記事(一部広告含む)