PostgreSQL中无需修改库属性将编码值转为明文的方法
解决方案
- 核心是使用PostgreSQL内置的
unaccent扩展,它专门用于去除Unicode字符的重音标记,完全满足你"查询时转明文、不修改数据库属性"的需求。 - 操作步骤:
- 先创建(如果未安装)
unaccent扩展:CREATE EXTENSION IF NOT EXISTS unaccent; - 使用
unaccent函数处理目标字符串或字段:- 测试单个字符串:
执行后会直接返回你要的结果:SELECT unaccent('Er tręäńgt keinen Manteł');Er treangt keinen Mantel - 查询数据表字段(假设字段名为
content,表名为your_table):SELECT unaccent(content) AS plain_text FROM your_table;
- 测试单个字符串:
- 先创建(如果未安装)
- 说明:你之前尝试的
::bytea和convert_to是用于字符串与字节流的格式转换,和去除字符重音的需求不匹配,所以无法得到预期结果。
内容的提问来源于stack exchange,提问作者Jim Macaulay
相关产品推荐
相关产品推荐

