KR
alive in new life
Еще раз про lower() & upper() с кириллицей
Начал с того, что прочитал
http://www.phpclub.ru/talk/showthread.php?s=&threadid=7837&highlight=lower и
http://www.phpclub.ru/talk/showthread.php?s=&threadid=19616&highlight=lower
http://faq.phpclub.net/practice.pgsql.html
но ответа на вопрос к сожалению не нашел (или плохо смотрел)
1) версия постгреса 7.4.3
2) насчет initdb -E KOI8/WIN не знаю и установить сейчас будет достаточно сложно, но
CREATE DATABASE dbname WITH ENCODING = 'WIN';
3) данные в этой самой dbname лежат в CP1251
4) локаль
setenv LANG ru_RU.KOI8-R
setenv MM_CHARSET KOI8-R
5) по-поводу --enable-locale --enable-multibyte. Ставил во FreeBSD из портов. в Makefile порта не нашел похожих ключей.
тем не менее lower и upper работают не так, как ожидается, судя по всему постгри пытается работать с данными считая, что они в KOI8.
Предчувствуя нападки в свою сторону насчет того, что локаль KOI8, поэтому ничего не работает поясняю, что данные в базах могут лежать как в KOI8, так и в WIN
Мне кажется, что постгрес в первую очередь должен ориентироваться на кодировку, указанную для конкретной базы данных и в соотвествии с локалью осуществлять необходимые преобразования, хотя могу и ошибаться.
собственно два вопроса:
1) где я не прав?
2) можно ли вообще хранить данные в разных кодировках, естественно, в разных базах и будет ли постгрес при этом вести себя адекватно?
Начал с того, что прочитал
http://www.phpclub.ru/talk/showthread.php?s=&threadid=7837&highlight=lower и
http://www.phpclub.ru/talk/showthread.php?s=&threadid=19616&highlight=lower
http://faq.phpclub.net/practice.pgsql.html
но ответа на вопрос к сожалению не нашел (или плохо смотрел)
1) версия постгреса 7.4.3
2) насчет initdb -E KOI8/WIN не знаю и установить сейчас будет достаточно сложно, но
CREATE DATABASE dbname WITH ENCODING = 'WIN';
3) данные в этой самой dbname лежат в CP1251
4) локаль
setenv LANG ru_RU.KOI8-R
setenv MM_CHARSET KOI8-R
5) по-поводу --enable-locale --enable-multibyte. Ставил во FreeBSD из портов. в Makefile порта не нашел похожих ключей.
тем не менее lower и upper работают не так, как ожидается, судя по всему постгри пытается работать с данными считая, что они в KOI8.
Предчувствуя нападки в свою сторону насчет того, что локаль KOI8, поэтому ничего не работает поясняю, что данные в базах могут лежать как в KOI8, так и в WIN
Мне кажется, что постгрес в первую очередь должен ориентироваться на кодировку, указанную для конкретной базы данных и в соотвествии с локалью осуществлять необходимые преобразования, хотя могу и ошибаться.
собственно два вопроса:
1) где я не прав?
2) можно ли вообще хранить данные в разных кодировках, естественно, в разных базах и будет ли постгрес при этом вести себя адекватно?