pg_set_client_encoding

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

説明

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

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

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

注意:

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

パラメータ

connection

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

警告

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

encoding

クライアントエンコーディング。以下のうちのひとつです。SQL_ASCIIEUC_JPEUC_CNEUC_KREUC_TWUNICODEMULE_INTERNALLATINX (X=1...9)、 KOI8WINALTSJISBIG5 あるいは WIN1250

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

戻り値

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

変更履歴

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

例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