Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   Postgresql 8.2 и tsearch2 (http://forum.oszone.net/showthread.php?t=80434)

Vich 06-03-2007 00:35 558310

Postgresql 8.2 и tsearch2
 
Проблема возникла вес0ьма специфичная. Кодировка кластера и БД - utf8. В эту базу установлено расширение tsearch2.
Запрос select to_tsvector('default', 'tik-tak'); возвращает 'tak':3 'tik':2 'tik-tak':1. А вот select to_tsvector('default', 'тик-так'); возвращает ошибку.
ERROR: invalid byte sequence for encoding "UTF8": 0xf2e8ea2d
Словари tsearch конвертированы в uft-8.
Кто сталкивался, кто чем может помочь?

ruslandh 06-03-2007 06:46 558348

Я с посгрескл не работал, могу только предположить, что 'тик-так' дожен быть в UTF8, а у вас какая-нибудь 8-битовая кодировка, или где-то неправильно работает перекодировщик русские8бит->UTF8

mar 15-03-2007 19:37 562200

ruslandh совершенно прав.
Посмотрите, что по этому поводу пишут разные люди, наступающие на подобные грабли: (google - спец запрос)

Vich 30-03-2007 17:30 568630

Грабли там всетаки были... кластер постгреса нужно инитить в utf8 (initdb --locale=utf8).
Но собственно ошибка была вызвана неправильной кодировкой в терминале, откуда пускал запрос кодировка была другая, хотя локаль правильная.
Спасибо


Время: 02:37.

Время: 02:37.
© OSzone.net 2001-