>我在pgAdmin4上搜索中文单词"一"时遇到了问题。
当我使用终端或其他 SQL IDE 时,查询结果是"e4b880"(十六进制 UTF-8 字节(,但 pgAdmin4返回了"344\270\200"(八进制 UTF-8 字节(,我们数据库存储的数据是"e4b880",所以我无法使用 pgAdmin4 获得查询结果,我尝试更改 pgsql 的客户端编码但情况没有改变, 真的希望有人能给我一些建议,谢谢。
select text(textsend_i('一'));
两者都是相同的正确值。
不同之处在于,在 pgAdmin 会话中,参数bytea_output
设置为escape
,而在其他会话中,它设置为默认值hex
。
感谢Laurenz的建议,我终于找到了解决pgAdmin4上问题的方法。
SELECT encode(convert_to('一', 'UTF-8'), 'HEX')