pg_unescape_bytea() 不能完全重现 pg_escape_bytea() 创建的二进制数据的原因是反斜杠 \ 和单引号 ' 被 pg_escape_bytea() 函数双重转义。这会导致从 bytea 字段检索到的图像看起来损坏。正确地将二进制字符串转义和解除转义到 PG bytea 字段的方法如下
<?php
$escaped_data = str_replace(array("\\\\", "''"), array("\\", "'"), pg_escape_bytea($data));
/* 稍后使用以下方法解除 bytea 字段中转义数据的转义以获取原始二进制数据 */
$original_data = pg_unescape_bytea($escaped_data));
?>
更多详情请访问:http://archives.postgresql.org/pgsql-php/2007-02/msg00014.php