`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