postgres convert_from(X,'UTF8')等价于PHP

时间:2012-02-10 11:37:16

标签: php postgresql utf-8

我有一个SQL语句,其中在PostgreSQL中的'bytea'字段上使用“convert_from(X,'UTF8')”进行转换。我想不是在SQL中进行转换,而是在PHP中进行转换。在PHP中是否有相同的功能?

2 个答案:

答案 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的文本。