Всем здравствовать!
Имеем: FreeBSD 6.2, PostgreSQL 8.3.
Компилим, ставим. Пытаемся насладиться интегрированным tsearch2 -- узнаём у себе много нового.
/usr/local/pgsql/bin/initdb -D /public/pgdata/general/ -E UTF8 --locale=ru_RU.UTF-8 Далее:
db=# show client_encoding; client_encoding ----------------- utf8 (1 row) db=# show server_encoding; server_encoding ----------------- UTF8 (1 row)
db=# select * from menuitem where caption @@ 'Petya'; ERROR: invalid byte sequence for encoding "UTF8": 0xd1 HINT: This error can also happen if the byte sequence does not match the encoding expected by the server, which is controlled by "client_encoding". Удивляемся, дампим базу. Поднимаем PostgreSQL 8.3 на Windows 2000 (кодировки при инициализации везде ставим UTF8). Ресторим базу.
db=# show client_encoding; client_encoding ----------------- UTF8 (1 row)
db=# show server_encoding; server_encoding ----------------- UTF8 (1 row)
db=# select * from menuitem where caption @@ 'Petya'; id | caption | link | menu_id | seq ----+---------+------+---------+----- (0 rows) (результат правильный, таких записей там нет)
В /public/pgdata/general/postgresql.conf:
client_encoding = 'UTF8' # actually, defaults to database В каком месте ДНК у меня ошибка?
Спасибо. |