写入 BYTEA 字段 - 错误:用于编码的字节序列无效 "UTF8" : 0x98



我正在将二进制数据写入UTF8数据库中的BYTEA字段。

当我通过PHP/PDO预处理语句运行查询时,我得到错误:

FATAL: SQLSTATE[22021]: Character not in repertoire: 7 ERROR:  invalid byte sequence for encoding "UTF8": 0x98

知道为什么它处理二进制数据,如果它应该是utf8编码?

找到了,解决方案是PG不允许二进制数据作为常规'字符串'值传递,它必须被视为一个特殊的'大对象'。

$stmt->bindValue(1, $field_data, PDO::PARAM_LOB);

相关内容

  • 没有找到相关文章

最新更新