【PHP】chr/ord/mb_convert_encoding関数の使い方(文字コード変換)

アイキャッチ画像文字コード PHP
PHP
この記事は約3分で読めます。
Recommended Articles

【PHP】文字コード変換

chr関数の使い方(ASCIIコードを文字に変換する)

 php3~で使用できます。

chr関数 : 書式
chr(ASCIIコード)

戻り値:ASCIIコードに対応する文字

chr関数はASCIIコードを文字に変換します。選択リストに表示される「A」から「Z」をまとめて取得する時などで活用できます。

chr関数 : 使用例
  • ASCIIコードを文字に変換する
    echo chr(70); →「F」を出力
    echo chr(34); →「*」を出力
    echo chr(39); →「'」を出力
    echo chr(92); →「\」を出力
  • アルファベットを連続で取得する
    for ($i=65; $i<70; $i++) {
      echo chr($i);
    }
    出力結果 ABCDE

ord関数の使い方(文字からASCIIコードに変換する)

 php3~  で使用できます。

ord関数 : 書式
ord(文字)

戻り値:文字から変換されたASCIIコード

chr関数の逆の動作、文字からASCIIコードに変換するには ord関数を使います。
ord関数 : 使用例
  • 文字をASCIIコードに変換する
    echo ord("a"); →「97」を出力

mb_convert_encoding関数の使い方(文字コードを変換する)

 php4.0.6~  で使用できます。

mb_convert_encoding関数 : 書式
mb_convert_encoding(文字列, 変換後の文字コード[, 変換前の文字コード])

戻り値:指定された文字コードに変換された文字列

mb_convert_encoding関数は、文字コードを変換します。データベースの文字コードが「EUC-JP」でブラウザへの出力が「SJIS」のように文字コードが異なる場合などに使います。変換前の文字コードを省略した場合は、設定されている内部文字コード(例:EUC-JP)の文字列として処理されます。この値とことなる場合は、3番目のパラメータに変換前の文字コードを指定したほうが良いでしょう。指定する際は、いくつかの文字コードを、検出する優先順位にカンマで区切って指定(例:SJIS、EUC-JP)できます。「auto」を指定した場合は「ASCII、JIS、UTF-8、EUC-JP、SJIS」と同じ意味です。
mb_convert_encoding関数 : 使用例
  • 文字コードを変換する
    $str = mb_convert_encoding($str, "UTF-8"); →文字コードをUTF-8に変換
  • 文字コードの検出順を指定して文字コードを変換する
    $str = mb_convert_encoding($str, "UTF-8", "SJIS, EUC-JP");

上記2つの使用例は、共に変数$strの文字コードを「UTF-8」に変換します。最初の例のように変換前の文字コードを指定しない場合は、内部文字コードの文字列として処理されます。

mb_convert_variables関数の使い方(配列の文字コードを変換する)

  • 配列の文字コードを変換する
    $array = array("東京", "愛知", "大阪");
    mb_convert_variables("EUC-JP", "SJIS", $array); →「EUC-JP」に変換

     mb_convert_variables関数を使うと配列やオブジェクトにあるデータの文字コードをまとめて変換することができます。

関連リンク

PHPトップページ
PHP入門 & 関数リファレンス
PHPの初心者からベテランまで活用できるページです。初めての方はもちろん、もう一度基礎から学びなおしたい方は、基礎知識のページを順に読んで理解しましょう。ベテランの方向けには、関数の書式・パラメーターを調べられる構成になっています。PHPプログラム作成時にご活用下さい。
Recommended Articles