クライアントのエンコーディングを設定する

# pg_set_client_encoding

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

pg_set_client_encoding — クライアントのエンコーディングを設定する

### 説明

function pg_set_client_encoding(PgSql\Connection `$connection` = ?, string `$encoding`): int

pg_set_client_encoding() はクライアントの エンコーディングを設定し、成功した場合に 0、エラー時に -1 を 返します。

PostgreSQL は、バックエンドのデータベースエンコーディングを自動的に フロントエンドのエンコーディングに変換します。

> 注意:

> この関数は、以前は pg_setclientencoding() と呼ばれていました。

### パラメータ

`connection`

  PgSql\Connection クラスのインスタンス。 `connection` が指定されない場合は、デフォルトの接続を使います。 デフォルトの接続とは、pg_connect() または pg_pconnect() によって確立された直近の接続です。

  警告

  PHP 8.1.0 以降では、デフォルトの接続を使うことは推奨されなくなりました。

`encoding`

  クライアントエンコーディング。以下のうちのひとつです。`SQL_ASCII`、`EUC_JP`、 `EUC_CN`、`EUC_KR`、`EUC_TW`、 `UNICODE`、`MULE_INTERNAL`、`LATINX` (X=1...9)、 `KOI8`、`WIN`、`ALT`、`SJIS`、 `BIG5` あるいは `WIN1250` 。

  利用可能なエンコーディングの完全なリストは、使用している PostgreSQL のバージョンに依存します。詳細な情報については PostgreSQL のマニュアルを 参照ください。

### 戻り値

成功した場合に `0`、 エラー時に `-1` を返します。

### 変更履歴

バージョン | 説明
--- | ---
8.1.0 | `connection` は、PgSql\Connection クラスのインスタンスを期待するようになりました。 これより前のバージョンでは、resource を期待していました。

### 例

例1 pg_set_client_encoding() の例

    <?php

    $conn = pg_pconnect("dbname=publisher");
    if (!$conn) {
      echo "An error occurred.\n";
      exit;
    }

    // クライアントのエンコーディングを UNICODE にする。
    // データは、バックエンドのエンコーディングから自動的に変換される。
    pg_set_client_encoding($conn, "UNICODE");

    $result = pg_query($conn, "SELECT author, email FROM authors");
    if (!$result) {
      echo "An error occurred.\n";
      exit;
    }

    // UTF-8 データを書き出す。
    while ($row = pg_fetch_row($result)) {
      echo "Author: $row[0]  E-mail: $row[1]";
      echo "<br />\n";
    }

    ?>

### 参考

- pg_client_encoding() - クライアントのエンコーディングを取得する

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