内部文字エンコーディングを設定あるいは取得する

# mb_internal_encoding

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

mb_internal_encoding — 内部文字エンコーディングを設定あるいは取得する

### 説明

function mb_internal_encoding(?string `$encoding` = `null`): string|bool

内部文字エンコーディングを設定あるいは取得します。

### パラメータ

`encoding`

  `encoding` は、HTTP 入力文字エンコーディング変換、 HTTP 出力文字エンコーディング変換および mbstring モジュールの文字列関数においてデフォルトの文字エンコーディングとして使用されます。 マルチバイト正規表現用のエンコーディングは、ここで扱う内部文字エンコーディングとは別であることに注意してください。

### 戻り値

`encoding` が設定された場合、 成功した場合に `true` を、失敗した場合に `false` を返します。 このとき、マルチバイト正規表現用のエンコーディングは変更されません。 `encoding` が省略された場合、 現在の内部文字エンコーディング名を返します。

### エラー / 例外

PHP 8.0.0 以降では、 `encoding` が不正な値の場合に ValueError がスローされるようになりました。 これより前のバージョンでは、 `E_WARNING` が発生していました。

### 変更履歴

バージョン | 説明
--- | ---
8.0.0 | `encoding` は、nullable になりました。
8.0.0 | `encoding` が不正な値の場合に ValueError がスローされるようになりました。 これより前のバージョンでは、 `E_WARNING` が発生していました。

### 例

例1 mb_internal_encoding() の例

    <?php
    /* 内部文字エンコーディングをUTF-8に設定 */
    mb_internal_encoding("UTF-8");

    /* 現在の内部文字エンコーディングを表示 */
    echo mb_internal_encoding();
    ?>

### 参考

- mb_http_input() - HTTP 入力文字エンコーディングを検出する
- mb_http_output() - HTTP 出力文字エンコーディングを設定あるいは取得する
- mb_detect_order() - 文字エンコーディング検出順序を設定あるいは取得する
- mb_regex_encoding() - 現在のマルチバイト正規表現用のエンコーディングを取得または設定する

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open