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 =)

Другие вопросы по тегам