У меня есть небольшой pdf (или txt, odt, doc) файл для хранения в БД Postgres с php.
Я использую эти функции PHP для чтения файла:
$fp = fopen($name, 'rb');
$content = fread($fp, filesize($name));
$content = addslashes($content);
fclose($fp);
, а затем попробуйте сохранить в БД:
$sql = "insert into Table(column) values ('$content'::bytea)";
$result = @pg_query($sql);
"столбец" - это тип bytea.
Когда я выполняю скрипт с файлом PDF, я получаю следующую ошибку:
ERROR: invalid byte sequence for encoding "UTF8": 0xe2e3cf HINT: This error can also happen if the byte sequence does not match the encoding expected by the server, which is controlled by "client_encoding".
Когда я выполняю скрипт с файлом doc, я получаю следующую ошибку:
ERROR: invalid input syntax for type bytea
Когда я выполняю скрипт с txt-файлом, НЕТ ошибки:
Что не так и как правильно хранить файлы?