我有一个SQL语句,其中在PostgreSQL中的'bytea'字段上使用“convert_from(X,'UTF8')”进行转换。我想不是在SQL中进行转换,而是在PHP中进行转换。在PHP中是否有相同的功能?
答案 0 :(得分:1)
iconv('UTF-8', $targetCharset, $x)
或
mb_convert_encoding($x, $targetCharset, 'UTF-8')
http://php.net/manual/en/function.iconv.php
http://php.net/mb_convert_encoding
您必须指定目标字符集,这是Postgres函数中数据库编码所暗示的。
答案 1 :(得分:0)
问题是postgresql返回十六进制编码的字段。我在PHP中的解决方案现在看起来像这样:
$str = pack('H*', str_replace('\x', '', $obj->BinData));
有了这个,就可以检索bytea-field的文本。