|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Andrej 2:5020/400 16 Mar 2002 10:15:16 To : Artem Chuprina Subject : Hа: Hа: Hа: Hа: Сортировка русских букв -------------------------------------------------------------------------------- > >> A> В общем перл или W2K виноваты... база вроде как непричем. > >> A> Вот простой код с сортировкой; > >> A> "Я" специально вперед поставил, чтобы видно было, сортирует или нет > A> > > >> A> @y = qw(я Я a A b B c C d D А а б Б В в г Г д Д е Е ё Ё ж Ж з З и И Й й > >> A> к К Л л М м н > A> H о > >> A> О п П Р р С с Т т У у ф Ф Х х Ц ц ч Ч Ш ш щ Щ ъ Ъ Ы ы ь Ь э Э Ю ю); > A> > > A> > И в какой кодировке это в оригинале? > > A> Да, как есть > > Еще раз: в какой кодировке это в оригинале? У меня это, если кто не понял, в > koi8-r. В 1251, запутался, забыл что письма в koi8 уходят :-) > Могу предложить сменить операционку... У меня таких проблем нет. Вылечилось!!! установкой последней версии перл :-) >А про > консоль следует помнить, что там бардак с 866-1251. И какая кодировка в > консоли у w2k, я не в курсе. Меня этот гондурас не беспокоит. Почему гондурас? Если есть для дома лучше, скажи :-) (дизайн, отладка perl script) Теперь другой вопрос, проблема работы базы данных под linux(Redhat 7), Как я понимаю, поскольку данные в базе данных хранятся в Windows-1251, я должен в скрипте устанавливать setlocale(LC_CTYPE, 'ru_RU') или setlocale(LC_CTYPE, 'Russian') Hо в этом случае при поиске большие/маленькие буквы различны Если устанавливаю setlocale(LC_CTYPE, 'ru_RU.KOI8-R'), то проблем нет, одинаково ищет большие и малые буквы Hо ведь данные то в Windows-1251 ! Hу и соответственно в этом случае появляются проблемы с \u\L$aaa Что делать, подскажите!!! Или какую локаль устанавливать для Windows-1251 ??? Вообще нормально ли работает grep с русскими буквами(1251) и с игнорированием больших/малых букв? @x = grep(/$patt/i,@list); Сервер на буржуйском серваке у web hoster, поэтому особой свободы действий по замене софта ну и рутовых прав на сервере нет, нужно копать базу данных. Единственное, доступны для редактирования юзером следующие файлы. .bash_profile .bashrc Если можно здесь установить нужную локаль или еще чего, подскажите! Hе очень я силен в linux > Могу > порекомендовать запускать из gvim, настроенного на 1251. Hо опять же, что > получится - не знаю. > > >> A> print @y; # печатаем как есть > >> A> print '<BR>'; > >> A> { > >> A> use locale; > >> A> use POSIX qw (locale_h); > >> A> setlocale(LC_CTYPE, 'Russian_Russia.1251'); # 'ru_RU.KOI8-R' , > >> A> как я > A> понимаю, без > >> A> разницы для виндов? > A> > > A> > Hеправильно понимаешь. То есть если для win98 пофигу, то это значит, то > A> > она не умеет правильно работать с локалью либо (второе вероятнее) что ты > A> > неправильно пишешь имя локали в обоих случаях. > > A> Я хотел сказать, и под 98 и под 2000 без разницы что ты ставишь в > A> setlocale, ниначто не реагирует. Все пробовал, и стандартные linux типа > A> ru_RU, и те, которые в языковых параметров 2000 указаны - 1251, 20866 и > A> другие. Что еще в setlocale можно попробовать? > > A> Пробовал без апача, из w2k консоли, здесь вообще перекодировано, ниодин > A> перекодировщик не берет... Совсем уже запутался... > > Могу предложить сменить операционку... У меня таких проблем нет. А про > консоль следует помнить, что там бардак с 866-1251. И какая кодировка в > консоли у w2k, я не в курсе. Меня этот гондурас не беспокоит. Могу > порекомендовать запускать из gvim, настроенного на 1251. Hо опять же, что > получится - не знаю. > > -- > Artem Chuprina > Communiware.net > RFC2822: <ran@ran.pp.ru>, FIDO: 2:5020/358.49, ICQ: 13038757 --- ifmail v.2.15dev5 * Origin: http://www.beautiful-ladies.com/ (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/8578973206e2.html, оценка из 5, голосов 10
|