Ассоциация ЭБНИТ    ИРБИС-корпорация    Вики-Ирбис    Online/CHM справка Ирбис   
Web Ирбис и Z-Ирбис :  ИРБИС Irbis
 
кодировка web-ирбис 2009.1
Пользователь: 0x000000x0 (IP-адрес скрыт)
Дата: 25, February, 2010 09:37

Приветствую всех!

Поставили веб-ирбис32 версии 2009.1. Вроде работает но косяк с кодировками как видно на приложенных скриншотах. Если поменять кодировку в файле irbis32.ini на следующие записи:

FRAMES_CHAR_SET=windows-1251
QUERY_CHAR_SET=windows-1251

По дефолту IIS отдает в UTF-8.

то, что было читабельным становится читабельно, а то что читабельным становится нечитабельным. Я так понимаю это проблема в базах данных ирбиса. Как с этом бороться??

Вложения: baddbirb.png (112.6KB)   baddbirb1.png (68KB)  
Re: кодировка web-ирбис 2009.1
Пользователь: Кирилл Соколинский (СЗТУ) (IP-адрес скрыт)
Дата: 27, February, 2010 14:57

Ваше желание использовать WIN кодировку с ИРБИС 32 вполне понятно. У меня 6 лет назад был аналогичный опыт(http://elib.nwpi.ru/cgi-bin/lib/cgi.exe?C21COM=F&I21DBN=NWPIB_EX&I21DBNAM=NWPIB) Но переход к Win кодировке является достаточно сложной задачей и предполагает не только изменение INI файла. Поэтому Вы будете испытывать сложности с обновлением системы.

Впрочем, изменение INI у Вас тоже сделано не совсем правильно. Вам нужно раскомментировать имеющиеся параметры и использовать в их названии верхний регистр:

FRAMES_CHAR_SET=WINDOWS-1251
QUERY_CHAR_SET=WINDOWS-1251

Кроме того требуется изменить направление перекодировки форматов и отключить или иначе использовать ряд функций перекодировки:

&unifor('+3E' - перевод в формат URI для передачи серверу.
&unifor('+3D' – перевод из URI (применяется шлюзом при работе по методу GET).
&unifor('+3U' – перевод ANSI в UTF8 – применяется в WEB ИРБИС32 для формирования ссылок в кодировке UTF8.
&unifor('+3W' – перевод UTF8 в ANSI.
&unifor('+3+' – перевод знака + в %2B для правильной передачи поискового запроса содержащего логику ИЛИ в ссылках.

В командах <? и <!FORMAT= может потребоваться отключить индикатор необходимости перекодировки(удалить восклицательный знак).

Re: кодировка web-ирбис 2009.1
Пользователь: Панев Максим (IP-адрес скрыт)
Дата: 27, February, 2010 17:29

Цитата:
Кирилл Соколинский (СЗТУ)
(удалить восклицательный знак)
Уточню: восклицательный знак в самом начале формата, а не этот
<!FORMAT=
Если кто-то пропустил, то напомню. Когда фрейм в кодировке UTF, и в формате, заданном в команде <!FORMAT=...?>, есть кириллица, требуется указать парсеру на необходимость конвертирования кодировки конструкции в ANSI. В качестве такой команды конвертирования используется восклицательный знак в самом начала формата. Пример:
Цитата:
Фрейм в кодировке UTF-8
Значение поля
<!FORMAT=!'100 в записи равно: 'v100 ?>
и мы счастливы этому факту

WEB ирбис 32 и кракозябры
Пользователь: AirStom (IP-адрес скрыт)
Дата: 07, May, 2010 17:24

Люди добрые, помогите пожалуйста...
На MS Window 2003 eng сервере установил WEB Ирбис 32 под apache 2.2.15
в irbis32.ini всё по умолчанию:
#FRAMES_CHAR_SET=WINDOWS-1251
#QUERY_CHAR_SET=WINDOWS-1251
Получается вот такая вот вещь, которая описана в файле krakozabrja-01.JPG
Меняю в irbis32.ini:
FRAMES_CHAR_SET=WINDOWS-1251
#QUERY_CHAR_SET=WINDOWS-1251
Получается вот такая вот вещь, которая описана в файле krakozabrja-02.JPG
Другие манипуляции в лучшую сторону не приводят :-(
Заранее спасибо.



Редактировано 1 раз. Последний раз 08.05.2010 13:17 пользователем AirStom.

Вложения: krakozabrja-01.JPG (159.1KB)   krakozabrja-02.JPG (198.7KB)  
Re: кодировка web-ирбис 2009.1
Пользователь: AirStom (IP-адрес скрыт)
Дата: 10, May, 2010 14:40

В каком файле нужно прописать &unifor('+3U'?
Либо как добавить?
Заранее спасибо.

Re: кодировка web-ирбис 2009.1
Пользователь: Кирилл Соколинский (СЗТУ) (IP-адрес скрыт)
Дата: 11, May, 2010 12:11

AirStom написал(а):
-------------------------------------------------------
> В каком файле нужно прописать &unifor('+3U'?
> Либо как добавить?

Изменение кодировки WEB ИРБИС не является стандартной функцией настройки. Эта операция предполагает знание языка форматирования и хорошего понимания логики работы модуля. Я настоятельно рекомендую Вам сохранить исходную кодировку если у Вас возникают вопросы относительно изменяемых файлов.

Re: кодировка web-ирбис 2009.1
Пользователь: AirStom (IP-адрес скрыт)
Дата: 11, May, 2010 12:34

Уважаемый Кирилл, что Вы можете посоветовать в моём случае?
ОС - Microsoft Windows [Version 5.2.3790]Eng
WEB сервер - Apache 2.2.15
url: [89.184.10.36:8080]

Пытался прописать, всё, как в форуме написано, ничего не выходит :-(
Спасибо заранее за ответ.
Айрат.

Re: кодировка web-ирбис 2009.1
Пользователь: Панев Максим (IP-адрес скрыт)
Дата: 11, May, 2010 13:44

Ваша проблема в том, что фреймы у вас в кодировке UTF-8, а данные приходят в Win-1251. Как минимум нужно пересохранить все фреймы в кодировке UTF-8.
Если этого не сделать, то и поисковые запросы серверу будут идти в кодировке UTF-8, что приведет к не работающему поиску.
Нужно ли что-то еще менять, я так сразу сориентироваться не могу, поскольку от 32-го отказался ужеочень давно и не знаю, на что влияет параметр FRAMES_CHAR_SET.

Re: кодировка web-ирбис 2009.1
Пользователь: Кирилл Соколинский (СЗТУ) (IP-адрес скрыт)
Дата: 12, May, 2010 00:01

Ещё раз повторяю: операция смены кодировки предполагает знание языка форматирования и хорошего понимания логики работы модуля. Я настоятельно рекомендую Вам сохранить исходную кодировку если у Вас возникают вопросы относительно того, какие файлы требуется изменять.

Можете ли Вы указать объективные причины, которые делают абсолютно необходимым изменение кодировки? Учитываете ли Вы то, что для каждой новой версии Вам придётся проводить работу по смене кодировки?

Re: кодировка web-ирбис 2009.1
Пользователь: Панев Максим (IP-адрес скрыт)
Дата: 12, May, 2010 08:37

Кирилл, все это понятно и твои рекомендации обоснованы. Но конкретного решения проблемы ты так и не привел.

Re: кодировка web-ирбис 2009.1
Пользователь: AirStom (IP-адрес скрыт)
Дата: 12, May, 2010 08:47

Кирилл Соколинский (СЗТУ) написал(а):
-------------------------------------------------------
> Ещё раз повторяю: операция смены кодировки
> предполагает знание языка форматирования и
> хорошего понимания логики работы модуля. Я
> настоятельно рекомендую Вам сохранить исходную
> кодировку если у Вас возникают вопросы
> относительно того, какие файлы требуется изменять.

Уважаемый Кирилл!
Это всё я конечно понимаю, я простой сисадмин, программировал давно, и всё это неправда :-), но если объясните в каких файлах и чАго поменять, либо принцип, поменяю...
Ещё раз
ОС - Windows 2003 server ENG
WEB сервер - Apache 2.2.15
Irbis - v 7.1
WEB Ирбис - 2005.2 и 2009.1 (url1 & url2)
>
>
> Можете ли Вы указать объективные причины, которые
> делают абсолютно необходимым изменение кодировки?
> Учитываете ли Вы то, что для каждой новой версии
> Вам придётся проводить работу по смене кодировки?
Организация Казанская государственная медицинская академимия купила WEB Ирбис, после установки WEB Ирбиса в нём невозможно работать...
url1 [89.184.10.36:8080]
url2 [89.184.10.36:8080]
Как пользователи разберутся в этих кракозябрах?
Предлагаете, чтоб организация взад вернула WEB Ирбис?

Re: кодировка web-ирбис 2009.1
Пользователь: Кирилл Соколинский (СЗТУ) (IP-адрес скрыт)
Дата: 12, May, 2010 18:31

Я переслал Вам последнюю версию WEB 32. Пожалуйста, установите её С НУЛЯ. Работу этой сборки Вы можете наблюдать здесь: [elib.nwpi.ru]
Версию 7.1 сегодня использовать нецелесообразно, хотя очевидно, что она давно используется и избирательной смены кодировки никто в ней не отмечал....

Если Вашей целью является обеспечение нормальной работы WEB ИРБИС, я настоятельно рекомендую отказаться от экспериментов с кодировкой. Во-первых, их нельзя проводить без знания языка форматирования, во-вторых, на сегодняшний день они абсолютно бессмысленны.

УРААА!!! Добил я эту тему :-)
Пользователь: AirStom (IP-адрес скрыт)
Дата: 13, May, 2010 19:28

Спасибо всем, кто мне помогал!
Но, дело оказалось не в дистрибутивах WEB Ирбиса, а в английской винде...
Впредь, чтоб никто не наступал на мои грабли, на которые я убил целую неделю, советую... кто собирается ставить WEB Ирбис на английский Windows 2003 server:
1) способ, отказаться от английского севера и поставить русский.
2) способ, кому лень переустанавливать винду - берём regedit и:
16.09.08 ПАМЯТКА РУССКИЙ ЯЗЫК ИЛИ БОРЬБА С КРАКОЗЯБРАМИ
Для того что бы русские буквы правильно были видны в программах надо:
а. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage\1252
для NT/XP/2003 - C_1251.NLS, для 95/98 - cp_1251.nl
б. HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows NT/CurrentVersion/FontSubstitutes
Arial,0=Arial,204
Courier New,0=Courier New,204
Verdana,0=Verdana,204
Times New Roman,0=Times New Roman,204
Tahoma,0=Tahoma,204
ц. для диалогов: MS Shell Dlg,0 = MS Sans Serif,204
д. Язык и региональные стандарты->Дополнительно->Выберете язык...->Русский
Параметры для стандартной учетной записи->Установить
е. Ну конечно же перегрузить компьютер!
взято с url: [www.sysadministrator.ru]

Результат моей деятельности :-)
url WEB Ирбис 2005.2 [89.184.10.36:8080]
url WEB Ирбис 2009.1 [89.184.10.36:8080]



Извините, только зарегистрированные пользователи могут писать в этом форуме.
This forum powered by Phorum.