可以使用 pg_query($connection, "set client_encoding to '$encoding'") 代替。
(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";
}
?>