I've been storing the contents of zip files in a LONGBLOB in a MySQL database, but I'm moving to Postgres. From what I've read, the equivalent to LONGBLOB in Postgres is bytea. Unfortunately, I can't get the zip contents to write to the database. First, I got this error:
Warning: pg_query(): Query failed: ERROR: invalid byte sequence for encoding "UTF8"
0x5c
Then I created a new database with SQL_ASCII encoding (the previous had UTF8), and got this error:
PHP Warning: pg_query(): Query failed: ERROR: syntax error at or near "v╘▓ú5"
LINE 2: ...√╢V[úB√▬┌»å⌐²└ù╙±b±≡ß▼┐π}°ï»┌G╜₧╧εo»~°0o╞W/_╝ƒL¢\'v╘▓ú5;Ω░#╩...
Is there any way to create a database/table/column in Postgres without encoding? If not, how should I store this information? I tried using pg_escape_bytea but that produces errors when I try to unzip the contents. Not sure that this really matters, but here's the PHP I'm using to write to the database:
$content = file_get_contents($zipLocation);
$content = addslashes($content);
$sql="INSERT INTO ZIP_TBL ( BUILD, CONTENT)
VALUES ('$build', '$content')";
if (!pg_query($con,$sql)) {
die('Error: ' . pg_last_error($con));
}