pg_query($connection, "set client_encoding to '$encoding'") can be used instead.
(PHP 4 >= 4.0.3, PHP 5, PHP 7, PHP 8)
pg_set_client_encoding — クライアントのエンコーディングを設定する
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 クラスのインスタンスを期待するようになりました。
これより前のバージョンでは、リソース を期待していました。
|
例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";
}
?>