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. Кто сталкивался, кто чем может помочь? |
Я с посгрескл не работал, могу только предположить, что 'тик-так' дожен быть в UTF8, а у вас какая-нибудь 8-битовая кодировка, или где-то неправильно работает перекодировщик русские8бит->UTF8
|
ruslandh совершенно прав.
Посмотрите, что по этому поводу пишут разные люди, наступающие на подобные грабли: (google - спец запрос) |
Грабли там всетаки были... кластер постгреса нужно инитить в utf8 (initdb --locale=utf8).
Но собственно ошибка была вызвана неправильной кодировкой в терминале, откуда пускал запрос кодировка была другая, хотя локаль правильная. Спасибо |
Время: 02:37. |
Время: 02:37.
© OSzone.net 2001-