文字列のエンコーディングを検出 - mb_detect_encoding()
当ページのリンクには広告が含まれています。
Webプログラミング言語PHPで、指定した文字列のエンコーディングを検出するmb_detect_encoding関数を紹介します。
mb_detect_encoding関数
string mb_detect_encoding ( string $string [, mixed $encoding_list = mb_detect_order() ] )
指定した文字列のエンコーディングを検出します。
引数 $string エンコーディングを検出する文字列を指定します。 $encoding_list エンコーディングの検出順を配列、あるいはカンマ区切りの文字列で指定します。 引数を指定しない場合(デフォルト) → mb_detect_order関数の返り値を使用。
返り値
文字列のエンコーディングを返します。
サンプルコード - 検出順を省略
指定した文字列のエンコーディングを検出するサンプルコードです。検出順を省略しているので、mb_detect_order関数が使用されています。
mb_detect_encoding( 文字列 )
<?php /* エンコーディングを検出 */ $string = "Hello!"; // 英語 echo mb_detect_encoding($string) . "\n"; $string = "こんにちは"; // 日本語 echo mb_detect_encoding($string) . "\n"; ?>
実行結果です。文字列のエンコーディングが検出されています。
ASCII UTF-8
サンプルコード - 検出順を指定
指定した文字列のエンコーディングを検出順を指定して検出するサンプルコードです。
mb_detect_detect(文字列,エンコーディング検出順)
<?php /* エンコーディング検出順を指定 */ $string = "こんにちは"; echo mb_detect_encoding( $string, "ASCII,EUC-JP,UTF-8" ) . "\n"; ?>
実行結果です。指定した文字列のエンコーディングが検出されています。
UTF-8