我在postgresql数据库上创建了扩展名“unaccent”但是当我使用“unaccent”运行select时,它总是返回1行但是有一个空行。
select ts_lexize('unaccent', 'Hôtel');
ts_lexize
-----------
(1 row)
根据the documentation预期:
select ts_lexize('unaccent','Hôtel');
ts_lexize
-----------
{Hotel}
(1 row)
当我跑步时:
SELECT unaccent('unaccent', 'Hôtel');
它显示:
unaccent
----------
Hôtel
(1 row)
答案 0 :(得分:2)
我刚刚发现问题是使用SQL_ASCII
编码的数据库编码,所以我删除了数据库,用UTF-8
重新创建它然后它开始工作正常。似乎unaccent
不适用于SQL_ASCII
。
答案 1 :(得分:0)
这取决于Postgres编辑器或操作系统。 可能你正在使用MacOS或Linux来显示结果。我同意了塔兰图拉。如果将编码数据库更改为UTF-8,则会更好。
尝试在Postgres Windows编辑器中执行此选择。和我一起工作。出现“空白”结果。
Hgs =)