マルチバイト文字列関数とは? わかりやすく解説

Weblio 辞書 > 固有名詞の種類 > 製品 > コンピュータ > プログラミング言語 > PHP > マルチバイト文字列関数の意味・解説 

マルチバイト文字列関数 (mbstring)

mbstring は拡張モジュールです。つまり、デフォルトでは 有効にならないということです。 configure スクリプトでモジュールを有効にする必要が あります。詳細は、インストールの 節を参照してください。
mbstring モジュールに関係する設定オプションは 以下のとおりです。
  • --enable-mbstring: mbstring 関数を有効にします。このオプションは、 mbstring 関数を利用するために必要です。
    mbstring 拡張モジュールを使用するためには、 libmbfl™ライブラリが必要です。 libmbfl™は、mbstring 拡張モジュールにバンドルされています。システムにインストールされている libmbfl™ を利用する場合、 --with-libmbfl[=DIR] を指定します。
    PHP 4.3.0 以降、mbstring 拡張モジュールは 日本語のほかに中国語 (簡体字)・中国語 (繁体字)・ 韓国語・ロシア語をサポートするように機能拡張されました。
    PHP 4.3.4以前のバージョンの場合、 この機能を使用するには、--enable-mbstring=LANGLANG パラメータに 以下のオプションのいずれかを追加する必要があります。 --enable-mbstring=cn を 使用した場合、簡体字中国語のエンコーディングがサポートされます。 --enable-mbstring=tw を 使用した場合、繁体字中国語のエンコーディングがサポートされます。 --enable-mbstring=kr を 使用した場合、韓国語のエンコーディングがサポートされます。 --enable-mbstring=ru を 使用した場合、ロシア語のエンコーディングがサポートされます。そして、 --enable-mbstring=ja (デフォルト)を 使用した場合、日本語のエンコーディングがサポートされます。 --enable-mbstring=all を指定した場合、サポートされるすべての文字エンコーディングが有効となります。 以前のバージョンとの互換性のため、何もオプションを指定せずに --enable-mbstring を使用した場合は 日本語のエンコーディングがサポートされます。
    注意: PHP 4.3.4以降では、--enable-mbstringにより、 libmbfl™でサポートされている全てのエンコーディングが有効となるよう になっています。
  • --enable-mbstr-enc-trans : mbstring 変換エンジンを使用した、HTTP 入力の 文字エンコーディング変換を有効にします。この機能が有効の場合、 HTTP 入力文字エンコーディングは、自動的に mbstring.internal_encoding に変換されます。
    注意: PHP 4.3.0 以降、このオプション --enable-mbstr-enc-trans は廃止され、実行時の設定 mbstring.encoding_translation に変更となります。HTTP 入力文字エンコーディング変換は、 このオプションを On に設定した場合のみ 有効となります (デフォルトは Offです)。
  • --disable-mbregex : マルチバイト対応の正規表現関数を無効にします。

実行時設定

php.ini の設定により動作が変化します。
表 166. mbstring 設定オプション
名前デフォルト変更可能な範囲変更履歴
mbstring.language"neutral"PHP_INI_PERDIRPHP 4.3.0 から利用可能です。
mbstring.detect_orderNULLPHP_INI_ALLPHP 4.0.6 から利用可能です。
mbstring.http_input"pass"PHP_INI_ALLPHP 4.0.6 から利用可能です。
mbstring.http_output"pass"PHP_INI_ALLPHP 4.0.6 から利用可能です。
mbstring.internal_encodingNULLPHP_INI_ALLPHP 4.0.6 から利用可能です。
mbstring.script_encodingNULLPHP_INI_ALLPHP 4.3.0 から利用可能です。
mbstring.substitute_characterNULLPHP_INI_ALLPHP 4.0.6 から利用可能です。
mbstring.func_overload"0"PHP_INI_PERDIRPHP 4.2.0 から利用可能で、PHP <= 4.2.3 は PHP_INI_SYSTEM です。
mbstring.encoding_translation"0"PHP_INI_PERDIRPHP 4.3.0 から利用可能です。
mbstring.strict_detection"0"PHP_INI_ALLPHP 5.1.2 から利用可能です。

PHP_INI_* 定数の詳細及び定義については、ini_set() を参照してください。
以下に設定ディレクティブに関する 簡単な説明を示します。
mbstring.language string
mbstring で使用される言語設定(NLS)のデフォルト値。 この設定は mbstring.internal_encoding を定義するため、 php.ini の中で mbstring.internal_encoding は、 mbstring.language の後に置く必要があることに注意してください。
mbstring.encoding_translation boolean
入力される HTTP クエリに関して、 文字エンコーディング検出および内部文字エンコーディングへの変換を行う 透過的な文字エンコーディングフィルタを有効にします。
mbstring.internal_encoding string
内部文字エンコーディングのデフォルト値を定義します。
mbstring.http_input string
HTTP 入力文字エンコーディングのデフォルト値を定義します。
mbstring.http_output string
HTTP 出力文字エンコーディングのデフォルト値を定義します。
mbstring.detect_order string
文字コード検出のデフォルト値を定義します。 mb_detect_order()も参照ください。
mbstring.substitute_character string
無効な文字を代替する文字を定義します。
mbstring.func_overload string
シングルバイト対応の関数を mbstring 関数の対応する関数でオーバーロード (置換)します。詳細は、 関数のオーバーロード を参照してください。
mbstring.strict_detection boolean
厳密なエンコーディング検出を行います。

» HTML 4.01の規約 によると、Web ブラウザは、 フォームのデータを投稿する際にページで使用される文字エンコーディングと 異なるエンコーディングを使用することができます。 ブラウザで使用される文字エンコーディングを検出するには、 mb_http_input() を参照ください。
一般的に使用されるブラウザでは、 指定したHTML文書の文字エンコーディングをかなり正確に推定することができますが、 header() または設定パラメータ default_charset により、 Content-Type HTTP ヘッダで charset を設定する方がより良いでしょう。
例 1281. php.ini 設定の例

; デフォルトの言語を設定
mbstring.language        = neutral; デフォルト言語を中立(UTF-8)に設定 (デフォルト)
mbstring.language        = English; デフォルト言語を英語に設定
mbstring.language        = Japanese; デフォルト言語を日本語に設定

;; デフォルトの内部エンコーディングを設定
;; 注意: PHPで動作する文字エンコーディングを使用すること
mbstring.internal_encoding    = UTF-8  ; 内部エンコーディングを UTF-8 に設定

;; HTTP入力エンコーディング変換を有効にする
mbstring.encoding_translation = On

;; デフォルトのHTTP入力文字エンコーディングを設定
;; 注意: スクリプトではhttp_inputの設定は変更できません。
mbstring.http_input           = pass    ; 変換しない。
mbstring.http_input           = auto    ; HTTP 入力を auto に設定
	                                    ; 「auto」は、「ASCII,JIS,UTF-8,
                                        ; EUC-JP,SJIS」に展開されます。
mbstring.http_input           = SJIS    ; HTTP入力をSJISに設定
mbstring.http_input           = UTF-8,SJIS,EUC-JP ; 順番を指定

;; デフォルトのHTTP出力文字エンコーディングを設定
mbstring.http_output          = pass    ; 変換しない
mbstring.http_output          = UTF-8   ; HTTP出力エンコーディングを
                                        ;  UTF-8 に指定

;; デフォルトの文字エンコーディング検出順序を設定
mbstring.detect_order         = auto    ; デフォルトの順番を auto に設定
mbstring.detect_order         = ASCII,JIS,UTF-8,SJIS,EUC-JP ; 順番を指定

;; 代替文字のデフォルト値を設定
mbstring.substitute_character = 12307   ; Unicode 値を指定
mbstring.substitute_character = none    ; 文字を出力しない
mbstring.substitute_character = long    ; long の例: U+3000,JIS+7E7E

   


例 1282. EUC-JP ユーザ用の php.ini の設定

;; 出力バッファリングを無効にする
output_buffering      = Off

;; HTTP charsetヘッダを設定
default_charset       = EUC-JP    

;; デフォルトの言語を日本語にする
mbstring.language = Japanese

;; HTTP 入力変換を有効にする
mbstring.encoding_translation = On

;; HTTP 入力エンコーディング変換を auto に設定
mbstring.http_input   = auto 

;; HTTP 出力を EUC-JP に設定
mbstring.http_output  = EUC-JP    

;; 内部エンコーディングを EUC-JP に設定
mbstring.internal_encoding = EUC-JP    

;; 無効な文字を出力しない
mbstring.substitute_character = none

   


例 1283. SJIS ユーザ用の php.iniの 設定

;; 出力のバッファリングを有効に
output_buffering     = On

;; 出力の変換を有効にするために mb_output_handler を設定
output_handler       = mb_output_handler

;; HTTPヘッダ charset を設定
default_charset      = Shift_JIS

;; デフォルトの言語を日本語に設定
mbstring.language = Japanese

;; HTTP 入力変換を有効にする
mbstring.encoding_translation = On

;; HTTP 入力エンコーディング変換を auto に設定
mbstring.http_input  = auto 

;; SJIS に変換
mbstring.http_output = SJIS    

;; 内部エンコーディングを EUC-JP に設定
mbstring.internal_encoding = EUC-JP    

;; 無効な文字を出力しない
mbstring.substitute_character = none


   


リソース型

リソース型は定義されていません。

定義済み定数

以下の定数が定義されています。 この関数の拡張モジュールが PHP 組み込みでコンパイルされているか、 実行時に動的にロードされている場合のみ使用可能です。
MB_OVERLOAD_MAIL (integer)
MB_OVERLOAD_STRING (integer)
MB_OVERLOAD_REGEX (integer)

HTTP 入出力

HTTP 入出力の文字エンコーディング変換はバイナリデータも変換して しまいます。HTTP 入出力にバイナリデータが使用される場合、ユーザは、 文字エンコーディング変換を制御する必要があります。
注意: PHP 4.3.2 およびそれ以前のバージョンの場合、 HTML フォームのenctypemultipart/form-data に設定された場合、 mbstring は、POST データの文字エンコーディングを変換しません。 この場合、文字列を内部文字エンコーディングに変換してやる必要があります。
注意: PHP 4.3.3 以降、HTML フォームの enctypemultipart/form-data に設定され、かつ、 php.ini において mbstring.encoding_translation に On が指定されている場合、 POST データの変数とアップロードされたファイルの名前の文字エンコーディングは、 内部文字エンコーディングに変換されます。 ただし、クエリキーに関しては、変換されません。
  • HTTP 入力
    PHP スクリプトで HTTP 入力文字変換を制御する手段はありません。 HTTP 入力文字変換を無効にするには、php.ini で行う必要があります。
    例 1284. php.ini で HTTP 入力変換を無効にする
    ;; HTTP 入力変換を無効にする
    mbstring.http_input = pass
    ;; HTTP 入力変換を無効にする (PHP 4.3.0 以降)
    mbstring.encoding_translation = Off


    PHP を Apache モジュールで使用する場合、php.ini の設定を httpd.conf により仮想ホスト単位で、または .htaccess によりディレクトリ単位で上書きすることが可能です。 詳細は、設定の節および Apache マニュアルを参照ください。
  • HTTP 出力
    出力の文字エンコーディング変換を有効にする方法は複数あります。 まず php.ini、もうひとつは ob_start() で ob_start のコールバック関数として mb_output_handler() を指定するものです。
    注意: PHP3-i18n のユーザにとっては、mbstring の出力変換は、PHP3-i18n とは異なっています。文字エンコーディングは、 出力のバッファリング機能を使用して変換されます。

例 1285. php.ini の設定例

;; 全ての PHP ページで出力の文字エンコーディング変換を有効にする

;; 出力バッファリングを有効にする
output_buffering    = On

;; mb_output_handler による出力変換を有効にする
output_handler      = mb_output_handler

      


例 1286. スクリプトの例
<?php

// このページでのみ出力の文字エンコーディング変換を有効にする

// HTTP 出力文字エンコーディングをSJISに設定する
mb_http_output('SJIS');

// 出力のバッファリングを開始し、コールバック関数として"mb_output_handler"
// を指定する
ob_start('mb_output_handler');

?>


サポートされる文字エンコーディング

現在、以下の文字エンコーディングが mbstring モジュールによりサポートされています。文字エンコーディングは、 mbstring 関数の encoding パラメータで指定することが可能です。
以下の文字エンコーディングがこの PHP 拡張モジュールでサポートされています。
  • UCS-4
  • UCS-4BE
  • UCS-4LE
  • UCS-2
  • UCS-2BE
  • UCS-2LE
  • UTF-32
  • UTF-32BE
  • UTF-32LE
  • UTF-16
  • UTF-16BE
  • UTF-16LE
  • UTF-7
  • UTF7-IMAP
  • UTF-8
  • ASCII
  • EUC-JP
  • SJIS
  • eucJP-win
  • SJIS-win
  • ISO-2022-JP
  • JIS
  • ISO-8859-1
  • ISO-8859-2
  • ISO-8859-3
  • ISO-8859-4
  • ISO-8859-5
  • ISO-8859-6
  • ISO-8859-7
  • ISO-8859-8
  • ISO-8859-9
  • ISO-8859-10
  • ISO-8859-13
  • ISO-8859-14
  • ISO-8859-15
  • byte2be
  • byte2le
  • byte4be
  • byte4le
  • BASE64
  • HTML-ENTITIES
  • 7bit
  • 8bit
  • EUC-CN
  • CP936
  • HZ
  • EUC-TW
  • CP950
  • BIG-5
  • EUC-KR
  • UHC (CP949)
  • ISO-2022-KR
  • Windows-1251 (CP1251)
  • Windows-1252 (CP1252)
  • CP866 (IBM866)
  • KOI8-R
エンコーディング名を指定する php.ini エントリには、 "auto" および "pass" を指定することもできます。 エンコーディング名を指定する mbstring 関数にも、"auto" を指定することができます。
"pass" が指定された場合、 文字エンコーディングの変換は行われません。
"auto" が指定された場合、この文字列は "ASCII,JIS,UTF-8,EUC-JP,SJIS" に変換されます。
mb_detect_order() も参照ください。

マルチバイト対応版関数による既存関数のオーバーロード

PHP アプリケーションの多くは、英語等のシングルバイトの言語用に設計されており、 日本語を含むマルチバイト文字列を扱う場合には問題を生じる場合があります。 substr() 等の PHP の文字列関数の多くは、 マルチバイト文字列に対応していません。
マルチバイト拡張モジュール (mbstring) では、文字列を処理する PHP 関数のマルチバイト対応版 (例えば substr() の場合は mb_substr()) をサポートしています。
PHP 4.2.0 以降のマルチバイト拡張モジュール (mbstring) では、 対応するマルチバイト文字対応版の関数で既存の PHP 関数を オーバーロードする機能をサポートします。関数のオーバーロードを行うと、例えば substr() を PHP スクリプトでコールした場合に、 mb_substr() が代わりにコールされるようになります。 これにより、マルチバイト文字に対応しないアプリケーションの移植が容易となります。
関数オーバーロードを使用するには、php.inimbstring.func_overload ディレクティブに正の値を指定します。 これは、オーバーロードされる関数の種類を指定するビットマスクの組み合わせとなります。 mail() 関数をオーバーロードするには 1 を指定します。 2 は文字列関数、4 は正規表現関数を表します。つまり、例えば 7 を指定すると、メール関数、文字列関数および正規表現関数が オーバーロードされることになります。オーバーロードされる関数の一覧を以下に示します。 表 167. オーバーロードされる関数
mbstring.func_overload の値元の関数オーバーロードする関数
1mail()mb_send_mail()
2strlen()mb_strlen()
2strpos()mb_strpos()
2strrpos()mb_strrpos()
2substr()mb_substr()
4ereg()mb_ereg()
4eregi()mb_eregi()
4ereg_replace()mb_ereg_replace()
4eregi_replace()mb_eregi_replace()
4split()mb_split()


注意: ディレクトリ単位の設定でこのオプションを使用することは推奨されません。 これは、実際の運用環境ではまだ安定性が確認されておらず、 予期しない結果をもたらす可能性があるためです。

日本語のマルチバイト文字に関する基本事項

日本語の文字は、マルチバイトエンコーディングを使用しないと表せません。 また、プラットフォームや使用目的によって複数の標準エンコーディングが 使い分けられています。さらに悪いことに、 これらの複数の標準エンコーディングはそれぞれ微妙に異なります。 日本語環境で使用しやすいウェブアプリケーションを作成するには、 これらの複雑な問題を考慮した上で 適切な文字エンコーディングを使用しなければなりません。
  • 1 文字は最大 6 バイトになる
  • ほとんどの日本語マルチバイト文字は、シングルバイト文字の 2 倍の幅となります。これらの文字のことを、日本語では "全角 (zen-kaku)" と呼びます。これは、 "full width" という意味です。一方、幅の狭い文字のことは "半角 (han-kaku)" と呼びます。これは、 "half width" という意味です。しかしながら、 文字の見た目は、それを表示する際に使用するタイプフェイスに依存します。
  • いくつかの文字エンコーディングでは、ISO-2022 で定義されたシフト (エスケープ) シーケンスを使用して、特定のコード範囲 (00h から 7fh まで) のコードマップを切り替えます。
  • SMTP/NNTPでは、ISO-2022-JP を使用する必要があり、ヘッダとエンティティは 各 RFC の規定に基づき再度符号化される必要があります。 これらは必須のものではありませんが、多くの一般的なユーザーエージェントは、 他の符号化手法を認識できないため、行っておく方が良いでしょう。
  • » i-mode, » Vodafone live!, または » EZweb のような携帯電話サービス用に作成された Web ページは、 Shift_JIS を使用することになります。

リファレンス

マルチバイト文字エンコーディングおよびそれに関連する問題は非常に複雑で、 このドキュメントの範囲を超えています。これらの問題に関連するより詳細な情報は、 以下の URL やその他のリソースを参照ください。

サポートされるエンコーディングの概要

サポートされるエンコーディングの概要IANA 文字セット登録名: ISO-10646-UCS-4依存する文字集合: ISO 10646説明: 31 ビットコード空間を使用するユニバーサル文字セットで、 ISO/IEC 10646 によって UCS-4 として標準化されています。 最新版の Unicode コードマップと連動しています。 注記: この名前をエンコーディング変換の際に使用すると、 先頭の BOM (バイトオーダーマーク) にもとづいてそれ以降のバイト列のエンディアンを識別します。 IANA 文字セット登録名: ISO-10646-UCS-4依存する文字集合: UCS-4説明: 上を参照ください。 注記: UCS-4 とは対象的に、 文字列が常にビッグエンディアン形式とみなされます。 IANA 文字セット登録名: ISO-10646-UCS-4依存する文字集合: UCS-4説明: 上を参照ください。 注記: UCS-4 とは対象的に、 文字列が常にリトルエンディアン形式とみなされます。 IANA 文字セット登録名: ISO-10646-UCS-2依存する文字集合: UCS-2説明: 16 ビットコード空間を使用するユニバーサル文字セットで、 ISO/IEC 10646 によって UCS-2 として標準化されています。 最新版の Unicode コードマップと連動しています。 注記: この名前をエンコーディング変換の際に使用すると、 先頭の BOM (バイトオーダーマーク) にもとづいてそれ以降のバイト列のエンディアンを識別します。 IANA 文字セット登録名: ISO-10646-UCS-2依存する文字集合: UCS-2説明: 上を参照ください。 注記: UCS-2 とは対象的に、 文字列が常にビッグエンディアン形式とみなされます。 IANA 文字セット登録名: ISO-10646-UCS-2依存する文字集合: UCS-2説明: 上を参照ください。 注記: UCS-2 とは対象的に、 文字列が常にリトルエンディアン形式とみなされます。 IANA 文字セット登録名: UTF-32依存する文字集合: Unicode説明: 32 ビット幅の Unicode 変換フォーマットで、 そのエンコーディング空間は Unicode のコードセット標準を参照します。 このエンコーディング体系は UCS-4 とは異なります。 なぜなら、Unicode のコード空間は 21 ビットまでに制限されるからです。 注記: この名前をエンコーディング変換の際に使用すると、 先頭の BOM (バイトオーダーマーク) にもとづいてそれ以降のバイト列のエンディアンを識別します。 IANA 文字セット登録名: UTF-32BE依存する文字集合: Unicode説明: 上を参照ください。注記: UTF-32 とは対象的に、 文字列が常にビッグエンディアン形式とみなされます。 IANA 文字セット登録名: UTF-32LE依存する文字集合: Unicode説明: 上を参照ください。注記: UTF-32 とは対象的に、 文字列が常にリトルエンディアン形式とみなされます。 IANA 文字セット登録名: UTF-16依存する文字集合: Unicode説明: 16 ビット幅の Unicode 変換フォーマットです。 注意すべき点は、UTF-16 の仕様が UCS-2 とは異なることです。 なぜなら、Unicode 2.0 より導入されたサロゲート機能により、 UTF-16 は現在 21 ビットコード空間を参照しているからです。 注記: この名前をエンコーディング変換の際に使用すると、 先頭の BOM (バイトオーダーマーク) にもとづいてそれ以降のバイト列のエンディアンを識別します。 IANA 文字セット登録名: UTF-16BE依存する文字集合: Unicode説明: 上を参照ください。 注記: UTF-16 とは対象的に、 文字列が常にビッグエンディアン形式とみなされます。 IANA 文字セット登録名: UTF-16LE依存する文字集合: Unicode説明: 上を参照ください。 注記: UTF-16 とは対象的に、 文字列が常にリトルエンディアン形式とみなされます。 IANA 文字セット登録名: UTF-8依存する文字集合: Unicode / UCS説明: 8 ビット幅の Unicode 変換フォーマットです。 注記: noneIANA 文字セット登録名: UTF-7依存する文字集合: Unicode説明: メールで安全に使用できる Unicode 変換フォーマットです。 » RFC2152 で定義されています。 注記: noneIANA 文字セット登録名: (none)依存する文字集合: Unicode説明: UTF-7 の変化形です。 » IMAP プロトコル での使用に特化しています。 注記: noneIANA 文字セット登録名: US-ASCII (推奨される MIME 名) / iso-ir-6 / ANSI_X3.4-1986 / ISO_646.irv:1991 / ASCII / ISO646-US / us / IBM367 / CP367 / csASCII 依存する文字集合: ASCII / ISO 646説明: American Standard Code for Information Interchange は、一般的に使用される 7 ビットエンコーディングです。 国際標準規格 ISO 646 として標準化されています。 注記: (none)IANA 文字セット登録名: EUC-JP (推奨される MIME 名) / Extended_UNIX_Code_Packed_Format_for_Japanese / csEUCPkdFmtJapanese 依存する文字集合: US-ASCII / JIS X0201:1997 (半角カナの部分) / JIS X0208:1990 / JIS X0212:1990 を合成したもの 説明: この名前が Extended UNIX Code Packed Format for Japanese を短縮したものであることからわかるように、 一般的に UNIX 系のプラットフォームで用いられます。 もととなるエンコーディング方式である Extended UNIX Code は、ISO 2022 にもとづいて設計されています。 注記: EUC-JP が参照している文字セットは IBM932 / CP932 のものとは異なります。 これらはそれぞれ OS/2® および Microsoft® Windows® で用いられています。これらのプラットフォームとの間で情報をやり取りする場合は、 代わりに EUCJP-WIN を使用してください。 IANA 文字セット登録名: Shift_JIS (推奨される MIME 名) / MS_Kanji / csShift_JIS依存する文字集合: JIS X0201:1997 / JIS X0208:1997 を合成したもの説明: Shift_JIS が開発されたのは 80 年代初期です。 当時は日本語ワープロが普及していたため、 旧来のエンコーディング方式である JIS X 0201:1976 との互換性を保つために開発されました。 IANA の定義によると、Shift_JIS のコードセットは IBM932 / CP932 とは微妙に異なります。 しかし、"SJIS" / "Shift_JIS" という名前は、 これらのコードセットを表すものとしてしばしば誤用されています。 注記: CP932 コードマップを使用するには、代わりに SJIS-WIN を使用してください。IANA 文字セット登録名: (none)依存する文字集合: JIS X0201:1997 / JIS X0208:1997 / IBM 拡張文字 / NEC 拡張文字 を合成したもの 説明: この "エンコーディング" は EUC-JP と同じエンコーディング方式を使用しますが、 もととなる文字セットが異なります。 つまり、EUC-JP とは異なる文字に対応するコードポイントがあるということです。 注記: noneIANA 文字セット登録名: Windows-31J / csWindows31J依存する文字集合: JIS X0201:1997 / JIS X0208:1997 / IBM 拡張文字 / NEC 拡張文字 を合成したもの 説明: この "エンコーディング" は Shift_JIS と同じエンコーディング方式を使用しますが、 もととなる文字セットが異なります。 つまり、Shift_JIS とは異なる文字に対応するコードポイントがあるということです。 注記: (none)IANA 文字セット登録名: ISO-2022-JP (推奨される MIME 名) / csISO2022JP依存する文字集合: US-ASCII / JIS X0201:1976 / JIS X0208:1978 / JIS X0208:1983 説明: » RFC1468注記: (none)IANA 文字セット登録名: JIS依存する文字集合: 説明: 注記: IANA 文字セット登録名: ISO-8859-1依存する文字集合: 説明: 注記: IANA 文字セット登録名: ISO-8859-2依存する文字集合: 説明: 注記: IANA 文字セット登録名: ISO-8859-3依存する文字集合: 説明: 注記: IANA 文字セット登録名: ISO-8859-4依存する文字集合: 説明: 注記: IANA 文字セット登録名: ISO-8859-5依存する文字集合: 説明: 注記: IANA 文字セット登録名: ISO-8859-6依存する文字集合: 説明: 注記: IANA 文字セット登録名: ISO-8859-7依存する文字集合: 説明: 注記: IANA 文字セット登録名: ISO-8859-8依存する文字集合: 説明: 注記: IANA 文字セット登録名: ISO-8859-9依存する文字集合: 説明: 注記: IANA 文字セット登録名: ISO-8859-10依存する文字集合: 説明: 注記: IANA 文字セット登録名: ISO-8859-13依存する文字集合: 説明: 注記: IANA 文字セット登録名: ISO-8859-14依存する文字集合: 説明: 注記: IANA 文字セット登録名: ISO-8859-15依存する文字集合: 説明: 注記: IANA 文字セット登録名: byte2be依存する文字集合: 説明: 注記: IANA 文字セット登録名: byte2le依存する文字集合: 説明: 注記: IANA 文字セット登録名: byte4be依存する文字集合: 説明: 注記: IANA 文字セット登録名: byte4le依存する文字集合: 説明: 注記: IANA 文字セット登録名: BASE64依存する文字集合: 説明: 注記: IANA 文字セット登録名: HTML-ENTITIES依存する文字集合: 説明: 注記: IANA 文字セット登録名: 7bit依存する文字集合: 説明: 注記: IANA 文字セット登録名: 8bit依存する文字集合: 説明: 注記: IANA 文字セット登録名: EUC-CN依存する文字集合: 説明: 注記: IANA 文字セット登録名: CP936依存する文字集合: 説明: 注記: IANA 文字セット登録名: HZ依存する文字集合: 説明: 注記: IANA 文字セット登録名: EUC-TW依存する文字集合: 説明: 注記: IANA 文字セット登録名: CP950依存する文字集合: 説明: 注記: IANA 文字セット登録名: BIG-5依存する文字集合: 説明: 注記: IANA 文字セット登録名: EUC-KR依存する文字集合: 説明: 注記: IANA 文字セット登録名: UHC (CP949)依存する文字集合: 説明: 注記: IANA 文字セット登録名: ISO-2022-KR依存する文字集合: 説明: 注記: IANA 文字セット登録名: Windows-1251 (CP1251)依存する文字集合: 説明: 注記: IANA 文字セット登録名: Windows-1252 (CP1252)依存する文字集合: 説明: 注記: IANA 文字セット登録名: CP866 (IBM866)依存する文字集合: 説明: 注記: IANA 文字セット登録名: KOI8-R依存する文字集合: 説明: 注記:

目次

mb_check_encoding — 文字列が、指定したエンコーディングで有効なものかどうかを調べる
mb_convert_case — 文字列に対してケースフォルディングを行う
mb_convert_encoding — 文字エンコーディングを変換する
mb_convert_kana — カナを("全角かな"、"半角かな"等に)変換する
mb_convert_variables — 変数の文字コードを変換する
mb_decode_mimeheader — MIME ヘッダフィールドの文字列をデコードする
mb_decode_numericentity — HTML 数値エンティティを文字にデコードする
mb_detect_encoding — 文字エンコーディングを検出する
mb_detect_order — 文字エンコーディング検出順序を設定あるいは取得する
mb_encode_mimeheader — MIMEヘッダの文字列をエンコードする
mb_encode_numericentity — 文字を HTML 数値エンティティにエンコードする
mb_ereg_match — マルチバイト文字列が正規表現に一致するか調べる
mb_ereg_replace — マルチバイト文字列に正規表現による置換を行う
mb_ereg_search_getpos — 次の正規表現検索を開始する位置を取得する
mb_ereg_search_getregs — マルチバイト文字列が正規表現に一致する部分があるか調べる
mb_ereg_search_init — マルチバイト正規表現検索用の文字列と正規表現を設定する
mb_ereg_search_pos — 指定したマルチバイト文字列が正規表現に一致する部分の位置と長さを返す
mb_ereg_search_regs — 指定したマルチバイト文字列が正規表現に一致する部分を取得する
mb_ereg_search_setpos — 次の正規表現検索を開始する位置を設定する
mb_ereg_search — 指定したマルチバイト文字列が正規表現に一致するか調べる
mb_ereg — マルチバイト文字列に正規表現マッチを行う
mb_eregi_replace — マルチバイト文字列に大文字小文字を区別せずに正規表現による置換を行う
mb_eregi — マルチバイト文字列に大文字小文字を区別しない正規表現マッチを行う
mb_get_info — mbstring の内部設定値を取得する
mb_http_input — HTTP 入力文字エンコーディングを検出する
mb_http_output — HTTP 出力文字エンコーディングを設定あるいは取得する
mb_internal_encoding — 内部文字エンコーディングを設定あるいは取得する
mb_language — カレントの言語を設定あるいは取得する
mb_list_encodings_alias_names — サポートされているエンコーディングのすべてのエイリアスの配列を返す
mb_list_encodings — サポートされる全エンコーディングを配列で返す
mb_list_mime_names — サポートされているすべての MIME 名の配列もしくは文字列を返す
mb_output_handler — 出力バッファ内で文字エンコーディングを変換するコールバック関数
mb_parse_str — GET/POST/COOKIEデータをパースし、グローバル変数を設定する
mb_preferred_mime_name — MIME 文字設定を文字列で得る
mb_regex_encoding — カレントの正規表現用のエンコーディングを文字列として返す
mb_regex_set_options — マルチバイト正規表現関数のデフォルトオプションを取得または設定する
mb_send_mail — エンコード変換を行ってメールを送信する
mb_split — マルチバイト文字列を正規表現により分割する
mb_strcut — 文字列の一部を得る
mb_strimwidth — 指定した幅で文字列を丸める
mb_stripos — 大文字小文字を区別せず、 文字列の中で指定した文字列が最初に現れる位置を探す
mb_stristr — 大文字小文字を区別せず、 文字列の中で指定した文字列が最初に現れる位置を探す
mb_strlen — 文字列の長さを得る
mb_strpos — 文字列の中に指定した文字列が最初に現れる位置を見つける
mb_strrchr — 別の文字列の中で、ある文字が最後に現れる場所を見つける
mb_strrichr — 大文字小文字を区別せず、 別の文字列の中である文字が最後に現れる場所を探す
mb_strripos — 大文字小文字を区別せず、 文字列の中で指定した文字列が最後に現れる位置を探す
mb_strrpos — 文字列の中に指定した文字列が最後に現れる位置を見つける
mb_strstr — 文字列の中で、指定した文字列が最初に現れる位置を見つける
mb_strtolower — 文字列を小文字にする
mb_strtoupper — 文字列を大文字にする
mb_strwidth — 文字列の幅を返す
mb_substitute_character — 置換文字を設定あるいは取得する
mb_substr_count — 部分文字列の出現回数を数える
mb_substr — 文字列の一部を得る




固有名詞の分類

このページでは「PHP関数リファレンス」からマルチバイト文字列関数を検索した結果を表示しています。
Weblioに収録されているすべての辞書からマルチバイト文字列関数を検索する場合は、下記のリンクをクリックしてください。
 全ての辞書からマルチバイト文字列関数を検索

英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

マルチバイト文字列関数のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



マルチバイト文字列関数のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
PHP Documentation GroupPHP Documentation Group
Copyright © 1997 - 2024 by the PHP Documentation Group.

©2024 GRAS Group, Inc.RSS