【问题标题】:Writing to a BYTEA field - ERROR: invalid byte sequence for encoding "UTF8": 0x98写入 BYTEA 字段 - 错误:用于编码“UTF8”的无效字节序列:0x98
【发布时间】:2013-04-14 16:17:16
【问题描述】:

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

当我通过 PHP/PDO 准备好的语句运行查询时,我收到错误:

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

知道为什么它将二进制数据视为应该是 utf8 编码的吗?

【问题讨论】:

    标签: php postgresql pdo binary-data


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-07-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-09
      • 2013-10-06
      • 2021-05-01
      相关资源
      最近更新 更多