OS/2 FAQ


OS/2 FAQ - Архив. Статья 002

Q Как русифицировать Web Explorer в Os/2?
A
(DZ FAQ) pivo@glas.apc.org

ВВЕДЕНИЕ

Происхождение вопроса очевидно - в IBM не говорят по русски и Web Explorer не любит этот язык, в чем нетрудно убедиться самостоятельно.
Недавно (после установки Bonus-pak-a), я отправил Subj в консультационную службу IBM. Их ответ (не только про Web, но и про остальные компоненты Internet Connection из Bonus-pak) коротко сводится к следующему:
"Все работает так, как спроектировано, что же до поддержки национальных кодировок - то это есть в наших планах на будующее." Sic! I have no comments ... :-()

Короче пришлось лезть в Explorer своими ручками и разбираться. Итоги этих разборок и небольшого общения с местными экспертами из конференций Relcom.os.os2.... привожу ниже в более-менее систематизированном виде.

ИСХОДНЫЕ ДАННЫЕ

У меня установлен OS/2 WARP (v.3.0 rel.8.200) русифицированный от IBM, поверх кривой переключалки от "Голубых Гигантов" (далее ГГ) установлен Cyr/2, т.е. в системе имеется кодовая страница 866 и 850. Internet Сonnection дополнен последними версиями Web Explorer (v1.03), последней версией tcpip и звонилок, которые легко скачиваются с ftp.ibm.net, либо посредством Retrieve Software Updates - это предпочтительнее, т.к. скачанная математика сразу распаковывается и устанавливается на место.

ЧТО ДЕЛАТЬ ДЛЯ РУСИФИКАЦИИ Web Explorera.

Для начала можно найти patch(webkoi.zip) от costya@netvision.net.il - я его обнаружил где-то на BBS (кажется на Белом Медведе), но, к сожалению, к желаемому результату это не привело а только послужило поводом для дальнейших поисков.

В результате поисков я нашел в Explorer-e не две как у costya@netvision.net.il, а целых три разных таблицы кодировок - они приведены в конце этой статьи.

Назначение этих таблиц IMHO следующее:

  • Таблица N3 отвечает за перекодировку входящих символов из КОИ-8 в Вашу локальную (в моем случае 866)
  • Таблица N2 отвечает за обратную перекодировку из Ваших кодов (у меня 866) в КОИ-8,
  • Таблица N1 назначение этой таблицы я пока не понял.

Первое что надо сделать - это резервные копии Explore.exe (он лежит в ...\tcpip\bin) и Webexwin.dll (из ...\tcpip\dll). Надо поменять содержимое Таблицы 3 и 2 на 3а и 2а соответсвенно, но этого мало. Если у вас в системе как у меня есть 866 и 850 кодовые страницы, то Web будет упорно переходить на кодовую страницу 850, а там увы - русских буковок нету. Надо оставить только одну 866 - надо строку CODEPAGE=866,850 из файла Config.sys изменить на CODEPAGE=866,866 (IMHO CODEPAGE=866 - тоже правильно). Таким образом Вы лишитесь страницы 850, но вроде бы она и не нужна - латиница есть и на 866.
Эти изменения можно делать например с помощью diskeditora от Нортоновских утилит либо с помощью hv.exe, либо любым редактором позволяющим редактировать binary файлы.
Можно воспользоваться программой от уже помянутого costya@netvision.net.il, но придется исправить вторую таблицу в его исходниках - он обе таблицы (и 2, и 3) заполняет одинаково, а в итоге Ва будете видеть русские буквы на серверах с КОИ-8, а писать будете "крокозябликами", точнее у вас-то будет выглядеть все нормально, а вот на сервер попадут "крокозябы", которые и вы потом и прочитаете оттуда.
Если Вы не хотите писать письма и отвечать в конференции Web Explorer-ом, то достаточно только изменить таблицу 3 и убрать в системе кодовую страницу 850.
В результате этих шаманских действий, Web при запуске будет лишний раз ругаться на тему о том, что он не может найти страницу Latin 1, но работать он будет нормально. Останется только одна ненормальность - системное меню (кнопка в левом верхнем углу Web-а) будет выводиться как раз закорючками, но только в Web-е и вызываемом из него Help-e, а остальных программ в других сессиях это не касается. Увы это я не поборол, кто сумеет преодолеть - пришлите весточку адрес в конце cтатьи. Еще одна неприятность - поле Subj в письмах и статьях которые отправляются из Web-а в конференции, при переходе на русский регистр будут набираться(у Вас) закорючками, хотя в конференцию будет попадать именно русский текст, но это терпимо т.к. они короткие. К тем кто это победит - убедительная просьба сообщить мне.

Что делать, если у Вас нету 866 страницы (доморощенная русификация) ? Как мне кажется (точно я не проверял), Web пользует шрифты Curier и Helvetica (или Helv) - придется в них поместить русские буковки или поискать готовые среди множества разных русификаторов Полуоса. Главное чтобы в той странице, которую использует Web лежали в нужных местах коды Ваших русских Мне кажется, что проще установить русский Warp, так как надо будет менять слишком много шрифтов. Или например взять шрифты и таблицы *.dcp от русского Warp-a.

Приложение А Таблицы перекодировок найденные в Web-е

З_а_м_е_ч_а_н_и_е: Адреса слева соответсвуют смещению от начала файла для версии Web Explorer 1.03.

Таблица 1. из Explore.exe исходная. (Я не разгадал ее назначения)
---------------------------------------------------------------------------
00008F70:  00 00 00 00-00 01 02 03-04 05 06 07-08 09 0A 0B  ...............
00008F80:  0C 0D 0E 0F-10 11 12 13-14 15 16 17-18 19 20 1B  ...............
00008F90:  1C 1D 1E 1F-20 21 22 23-24 25 26 27-28 29 2A 2B  .... !"#$%&'()*+
00008FA0:  2C 2D 2E 2F-30 31 32 33-34 35 36 37-38 39 3A 3B  ,-./0123456789:;
00008FB0:  3C 3D 3E 3F-40 41 42 43-44 45 46 47-48 49 4A 4B  <=>?@ABCDEFGHIJK
00008FC0:  4C 4D 4E 4F-50 51 52 53-54 55 56 57-58 59 5A 5B  LMNOPQRSTUVWXYZ[
00008FD0:  5C 5D 5E 5F-60 61 62 63-64 65 66 67-68 69 6A 6B  \]^_`abcdefghijk
00008FE0:  6C 6D 6E 6F-70 71 72 73-74 75 76 77-78 79 7A 7B  lmnopqrstuvwxyz{
00008FF0:  7C 7D 7E 7F-C7 FC E9 E2-E4 E0 E5 E7-EA EB E8 EF  |}╟ щтфрхчъышя
00009000:  EE EC C4 C5-C9 E6 C6 F4-F6 F2 FB F9-FF D6 DC F8  юь─┼╔ц╞⌠÷≥√·©╓▄°
00009010:  A3 D8 D7 AD-E1 ED F3 FA-F1 D1 AA BA-BF AE AC BD  г╪╫нсэ≤∙ё╤к║┐ом╜
00009020:  BC A1 AB BB-AD AD AD AD-AD C1 C2 C0-A9 AD AD AD  ╝бл╗ннннн┴┬└йннн
00009030:  AD A2 A5 AD-AD AD AD AD-AD AD E3 C3-AD AD AD AD  нвеннннннну├нннн
00009040:  AD AD AD A4-F0 D0 CA CB-C8 AD CD CE-CF AD AD AD  ннндЁ╨╩╦╚н═╬╧ннн
00009050:  AD A6 CC AD-D3 DF D4 D2-F5 D5 B5 FE-DE DA DB D9  нж╠н╙▀╘╥⌡╒╡■▐┌█┘
00009060:  FD DD AF B4-AD B1 AD BE-B6 A7 F7 B8-B0 A8 B7 B9  ²▌п┤н▒н╛╢з≈╕░и╖╣
00009070:  B3 B2 AD A0-00 00 00 00-00 00 00 00-00 00 00 00  │▓на
----------------------------------------------------------------------------

Таблица 2 из webexwin.dll исходная
----------------------------------------------------------------------------
00012900:  69 63 00 00-00 01 02 03-04 05 06 07-08 09 0A 0B  ................
00012910:  0C 0D 0E 0F-10 11 12 13-14 15 16 17-18 19 20 1B  ................
00012920:  1C 1D 1E 1F-20 21 22 23-24 25 26 27-28 29 2A 2B  .... !"#$%&'()*+
00012930:  2C 2D 2E 2F-30 31 32 33-34 35 36 37-38 39 3A 3B  ,-./0123456789:;
00012940:  3C 3D 3E 3F-40 41 42 43-44 45 46 47-48 49 4A 4B  <=>?@ABCDEFGHIJK
00012950:  4C 4D 4E 4F-50 51 52 53-54 55 56 57-58 59 5A 5B  LMNOPQRSTUVWXYZ[
00012960:  5C 5D 5E 5F-60 61 62 63-64 65 66 67-68 69 6A 6B  \]^_`abcdefghijk
00012970:  6C 6D 6E 6F-70 71 72 73-74 75 76 77-78 79 7A 7B  lmnopqrstuvwxyz{
00012980:  7C 7D 7E 7F-C7 FC E9 E2-E4 E0 E5 E7-EA EB E8 EF  |}╟ щтфрхчъышя
00012990:  EE EC C4 C5-C9 E6 C6 F4-F6 F2 FB F9-FF D6 DC F8  юь─┼╔ц╞⌠÷≥√·©╓▄°
000129A0:  A3 D8 D7 AD-E1 ED F3 FA-F1 D1 AA BA-BF AE AC BD  г╪╫нсэ≤∙ё╤к║┐ом╜
000129B0:  BC A1 AB BB-AD AD AD AD-AD C1 C2 C0-A9 AD AD AD  ╝бл╗ннннн┴┬└йннн
000129C0:  AD A2 A5 AD-AD AD AD AD-AD AD E3 C3-AD AD AD AD  нвеннннннну├нннн
000129D0:  AD AD AD A4-F0 D0 CA CB-C8 AD CD CE-CF AD AD AD  ннндЁ╨╩╦╚н═╬╧ннн
000129E0:  AD A6 CC AD-D3 DF D4 D2-F5 D5 B5 FE-DE DA DB D9  нж╠н╙▀╘╥⌡╒╡■▐┌█┘
000129F0:  FD DD AF B4-AD B1 AD BE-B6 A7 F7 B8-B0 A8 B7 B9  ²▌п┤н▒н╛╢з≈╕░и╖╣
00012A00:  B3 B2 AD A0-01 01 01 01-01 01 01 01-01 01 00 01  │▓на............
----------------------------------------------------------------------------

Таблица 2а из Webexwin.dll измененная
----------------------------------------------------------------------------
00012900:  69 63 00 00-00 01 02 03-04 05 06 07-08 09 0A 0B  ................
00012910:  0C 0D 0E 0F-10 11 12 13-14 15 16 17-18 19 20 1B  ................
00012920:  1C 1D 1E 1F-20 21 22 23-24 25 26 27-28 29 2A 2B  .... !"#$%&'()*+
00012930:  2C 2D 2E 2F-30 31 32 33-34 35 36 37-38 39 3A 3B  ,-./0123456789:;
00012940:  3C 3D 3E 3F-40 41 42 43-44 45 46 47-48 49 4A 4B  <=>?@ABCDEFGHIJK
00012950:  4C 4D 4E 4F-50 51 52 53-54 55 56 57-58 59 5A 5B  LMNOPQRSTUVWXYZ[
00012960:  5C 5D 5E 5F-60 61 62 63-64 65 66 67-68 69 6A 6B  \]^_`abcdefghijk
00012970:  6C 6D 6E 6F-70 71 72 73-74 75 76 77-78 79 7A 7B  lmnopqrstuvwxyz{
00012980:  7C 7D 7E 7F-E1 E2 F7 E7-E4 E5 F6 FA-E9 EA EB EC  |}ст≈чфх÷∙щъыь
00012990:  ED EE EF F0-F2 F3 F4 F5-E6 E8 E3 FE-FB FD FF F9  эюяЁ≥≤⌠⌡цшу■√²©·
000129A0:  F8 FC E0 F1-C1 C2 D7 C7-C4 C5 D6 DA-C9 CA CB CC  ° рё┴┬╫╟─┼╓┌╔╩╦╠
000129B0:  CD CE CF D0-90 91 92 81-87 B2 B4 A7-A6 BA A1 A8  ═╬╧╨РСТБЗ▓┤зж║би
000129C0:  AE AD AC 83-84 89 88 86-80 8A AF B0-AB A5 BB B8  онмГДЙИЖАКп░ле╗╕
000129D0:  B1 A0 BE B9-BA B6 B7 AA-A9 A2 A4 BD-BC 85 82 8D  ▒а╛╣║╢╖кйвд╜╝ЕВН
000129E0:  8C 8E 8F 8B-D2 D3 D4 D5-C6 C8 C3 DE-DB DD DF D9  МОПЛ╥╙╘╒╞╚├▐█▌▀┘
000129F0:  D8 DC C0 D1-B3 A3 99 98-93 9B 9F 97-9C 95 9E 96  ╪▄└╤│гЩШУЫЯЧЬХЮЦ
00012A00:  BF 9D 94 9A-01 01 01 01-01 01 01 01-01 01 00 01  ┐ЭФЪ............
----------------------------------------------------------------------------

Таблица 3 из Webexwin.dll исходная
----------------------------------------------------------------------------
000191D0:  00 01 02 03-04 05 06 07-08 09 0A 0B-0C 0D 0E 0F  ................
000191E0:  10 11 12 13-14 15 16 17-18 19 20 1B-1C 1D 1E 1F  ................
000191F0:  20 21 22 23-24 25 26 27-28 29 2A 2B-2C 2D 2E 2F   !"#$%&'()*+,-./
00019200:  30 31 32 33-34 35 36 37-38 39 3A 3B-3C 3D 3E 3F  0123456789:;<=>?
00019210:  40 41 42 43-44 45 46 47-48 49 4A 4B-4C 4D 4E 4F  @ABCDEFGHIJKLMNO
00019220:  50 51 52 53-54 55 56 57-58 59 5A 5B-5C 5D 5E 5F  PQRSTUVWXYZ[\]^_
00019230:  60 61 62 63-64 65 66 67-68 69 6A 6B-6C 6D 6E 6F  `abcdefghijklmno
00019240:  70 71 72 73-74 75 76 77-78 79 7A 7B-7C 7D 7E 7F  pqrstuvwxyz{|}
00019250:  FE FE FE FE-FE FE FE FE-FE FE FE FE-FE FE FE FE  ■■■■■■■■■■■■■■■■
00019260:  FE 60 27 22-22 FE FE FE-FE FE FE FE-FE FE FE FE  ■`'""■■■■■■■■■■■
00019270:  FF AD BD 9C-CF BE DD F5-F9 B8 A6 AE-AA FE A9 EE  ©н╜Ь╧╛▌⌡·╕жок■йю
00019280:  F8 F1 FD FC-EF E6 F4 FA-F7 FB A7 AF-AC AB F3 A8  °ё² яц⌠∙≈√зпмл≤и
00019290:  B7 B5 B6 C7-8E 8F 92 80-D4 90 D2 D3-DE D6 D7 D8  ╖╡╢╟ОПТА╘Р╥╙▐╓╫╪
000192A0:  D1 A5 E3 E0-E2 E5 99 9E-9D EB E9 EA-9A ED E8 E1  ╤еуртхЩЮЭыщъЪэшс
000192B0:  85 A0 83 C6-84 86 91 87-8A 82 88 89-8D A1 8C 8B  ЕаГ╞ДЖСЗКВИЙНбМЛ
000192C0:  D0 A4 95 A2-93 E4 94 F6-9B 97 A3 96-81 EC E7 98  ╨дХвУфФ÷ЫЧгЦБьчШ
----------------------------------------------------------------------------
Таблица 3а из Webexwin.dll измененная
----------------------------------------------------------------------------
000191D0:  00 01 02 03-04 05 06 07-08 09 0A 0B-0C 0D 0E 0F  ................
000191E0:  10 11 12 13-14 15 16 17-18 19 20 1B-1C 1D 1E 1F  ................
000191F0:  20 21 22 23-24 25 26 27-28 29 2A 2B-2C 2D 2E 2F   !"#$%&'()*+,-./
00019200:  30 31 32 33-34 35 36 37-38 39 3A 3B-3C 3D 3E 3F  0123456789:;<=>?
00019210:  40 41 42 43-44 45 46 47-48 49 4A 4B-4C 4D 4E 4F  @ABCDEFGHIJKLMNO
00019220:  50 51 52 53-54 55 56 57-58 59 5A 5B-5C 5D 5E 5F  PQRSTUVWXYZ[\]^_
00019230:  60 61 62 63-64 65 66 67-68 69 6A 6B-6C 6D 6E 6F  `abcdefghijklmno
00019240:  70 71 72 73-74 75 76 77-78 79 7A 7B-7C 7D 7E 7F  pqrstuvwxyz{|}
00019250:  C4 B3 DA BF-C0 D9 C3 B4-C2 C1 C5 DF-DC DB DD DE  ─│┌┐└┘├┤┬┴┼▀▄█▌▐
00019260:  B0 B1 B2 F4-FE F9 FB F7-F3 F2 FF F5-F8 FD FA F6  ░▒▓⌠■·√≈≤≥©⌡°²∙÷
00019270:  CD BA D5 F1-D6 C9 B8 B7-BB D4 D3 C8-BE BD BC C6  ═║╒ё╓╔╕╖╗╘╙╚╛╜╝╞
00019280:  C7 CC B5 F0-B6 B9 D1 D2-CB CF D0 CA-D8 D7 CE FC  ╟╠╡Ё╢╣╤╥╦╧╨╩╪╫╬ 
00019290:  EE A0 A1 E6-A4 A5 E4 A3-E5 A8 A9 AA-AB AC AD AE  юабцдефгхийклмно
000192A0:  AF EF E0 E1-E2 E3 A6 A2-EC EB A7 E8-ED E9 E7 EA  пярстужвьызшэщчъ
000192B0:  9E 80 81 96-84 85 94 83-95 88 89 8A-8B 8C 8D 8E  ЮАБЦДЕФГХИЙКЛМНО
000192C0:  8F 9F 90 91-92 93 86 82-9C 9B 87 98-9D 99 97 9A  ПЯРСТУЖВЬЫЗШЭЩЧЪ
----------------------------------------------------------------------------
PS. Во избежание каких-либо недоразумений в Вашей системе прошу помнить, что ответсвенность за использование или неиспользование изложенных здесь советов несете Вы и только Вы сами. В общем это типичный As Is, не более того. Однако с удовольствием прочту Ваши сообщения и порадуюсь вместе с Вами если Вы достигнете большего.

К предыдущей статье | К оглавлению раздела | К следующей статье

Вернуться к списку разделов FAQ.

Если у вас есть вопросы или пожелания, пишите, мы будем рады.

Данный FAQ cоставили Ivan Borovicov и Viatcheslav Odintsov (2:5020/181) на основе OS/2 FAQ Дмитрия Завалишина (dz) и материалов переписки в группе эхоконференций su.os2.*. Оформление статей: Николай Королев. Программирование JSP для RU/2: Евгений Кулешов. Благодарности: Дмитрию Максимовичу (MaximDim) за громадную помощь на первых этапах и Дмитрию Бану (banshee) за его помощь при проверке текста.



Интересные ссылки:
Комментариев к странице: 0 | Добавить комментарий
Домой | Проект ядро Core/2 | Проект OS/4 Download | Новости | Гостевая книга | Подробно обо всем | Нужные программы | Проекты | OS/2 FAQ | Всячина | За и Против | Металлолом | #OS2Russian | RDM/2 | Весёлые картинки | Наша галерея | Доска объявлений | Карта сайта | ПОИСК | ФОРУМ