Unaccent расширение Postgresql 9.1, возвращающее пустую строку
Я создал расширение "unaccent" в базе данных postgresql, но когда я запускаю select, используя "unaccent", он всегда возвращает 1 строку, но с пустой строкой.
select ts_lexize('unaccent', 'Hôtel');
ts_lexize
-----------
(1 row)
Ожидается согласно документации:
select ts_lexize('unaccent','Hôtel');
ts_lexize
-----------
{Hotel}
(1 row)
Также, когда я бегу:
SELECT unaccent('unaccent', 'Hôtel');
это показывает:
unaccent
----------
Hôtel
(1 row)
2 ответа
Я только что обнаружил, что проблема была в том, что кодировка базы данных, которая использовала SQL_ASCII
кодирование, поэтому я удалил базу данных, воссоздал ее с UTF-8
а потом все заработало нормально. Кажется, что unaccent
не работает с SQL_ASCII
,
Это зависит от редактора Postgres или операционной системы. Вероятно, вы используете MacOS или Linux, чтобы показать результаты. Я согласился с Тарантулом. Если вы измените базу данных кодировки на UTF-8, это будет намного лучше.
Попробуйте выполнить этот выбор в редакторе Postgres для Windows. Со мной работал. "Пустой" результат появился.
Hgs =)