Поддержка кодировки KOI8-U различным программным обеспечением
Здесь рассматривается использование различного программного обеспечения
при работе с кодировкой koi8-u. Во многих случаях здесь упоминается кодировка
koi8-r. Это вызвано тем, что кодировка koi8-u еще не принята как официальный
стандарт, и не может поддерживаться большинством программных продуктов.
В данном случае, существует близкая к koi8-u кодировка koi8-r, которая
стандартизована в RFC-1489
и должна поддерживаться приложениями, работающими в Internet. Она является
очень близкой к предлагаемому стандарту, и часто позволяет с минимальными
изменениями и доработками в конфигурации работать также с koi8-u.
Другие страницы по настройке поддержки KOI8-U
Проверка совместимости программного обеспечения с кодировками, и визуализация
koi8-u
-
Просмотрите верхнюю часть кодовой таблицы koi8-u
и
сравните ее с тем, как ее интерпретирует ваш WWW-клиент.
-
Проверьте, как ваш WWW-клиент обрабатывает строки
<TITLE>.
-
Выключите загрузку изображений в вашем WWW-клиенте и перейдите к этой
странице теста, чтобы провериить, как ваш WWW-клиент отображает строки
ALT
в кодировке koi8-u (перезагрузите эту страницу несколько раз и попробуйте
увидеть текст ALT перед загрузкой изображения). Если ваш WWW-клиент
правильно поддерживает кодировку в ALT - вы увидите текст в данной кодировке
(также как на изображении), в противном случае, вы увидите неразборчивый
текст.
-
Согласно интернационализации HTML (RFC2070),
поле charset в заголовке HTTP-запроса должно отменять значение
charset
определенное через <META ...>. Загрузите эту
тестовую
страницу с различным полем charsets в заголовке HTTP-запроса и МЕТА
и посмотрите, в какой кодовой таблице отображается текст в WWW-клиент.
Если ваш WWW-клиент обрабатывает это правильно, - вы увидите текст koi8-u
а не неразборчивый текст в кодировке cp1251. Для более устойчивой работы
вашего броузера, проверьте установки Document Encoding Settings
или Document Info, чтобы увидеть фактически установленную кодировку.
-
Когда кириллица (koi8-r) установлена как Document Encoding, в более
старых версиях Netscape Navigator'а (или когда это установлено как кодировка
по умолчанию командой Set Default), наибольшее количество текстово
ориентированных Java-аплетов выполняются неудачно - это выглядит как если
бы значения <PARAM> не были переданы в аплет вообще. NullPointerException
становится наиболее частой ошибкой. Это может быть исправлено установкой
Document
Encoding в Western(Latin1).
Таблица сравнения WWW-клиентов на совместимость с koi8-r/koi8-u**)
| Tests: |
Font |
Special Chars |
FORM Input |
Title |
ALT= text |
ACCEPT_
CHARSET |
META charset= |
Text Java applets |
HTTP over META |
| Netscape 3.01 (MS Windows) (*) |
Yes |
No |
Yes |
No |
No |
No |
Yes |
No |
No |
| Netscape 4.0b4 (MS Win95) |
Broken (1) |
Yes |
Yes |
Yes |
Yes |
Broken (2) |
Yes |
Yes |
No |
| Netscape 3.01 (X11) (3*) |
Yes |
No |
No |
Yes (4) |
Yes |
No |
Yes |
No |
No |
| Netscape 4.0b3 (X11) (5*) |
Yes |
No |
No |
Yes (4) |
Yes |
Broken (2) |
Yes |
Broken (6) |
No |
| MS Internet Explorer 4.0b1 |
Yes |
Yes |
Yes |
Yes |
Yes |
No |
Yes |
Yes |
Yes |
| MS Internet Explorer 3.02 |
Yes |
Yes |
No |
No |
No |
No |
Yes |
Yes |
No |
| Lynx 2.7.1 (6*) |
N/A |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
N/A |
Yes |
| Tango 2.5 |
Yes |
Yes |
Yes |
Yes |
Yes |
No |
Yes |
N/A |
Yes |
| Ariadna 1.2b3 |
Broken (7) |
Yes |
Yes |
Yes |
N/A |
No |
Yes |
Yes |
No |
(*) Требуются шрифты koi8-u:
**) Данная таблица заимствована с оригинальной страницы по KOI8-R http://www.nagual.pp.ru/~ache/koi8.html
(1) Допустимы только символы и специальные объекты HTML,
другие символы отображаются неправильно.
(2) Только unalterable, iso-8859-1 и utf-8
(3) Требуется дополнительная нестандартная настройка
(4) Зависит от настроек Window Manager
(5) Java не может выполняться с определенными значениями
системной переменной LANG (и соответствующими locale), например uk_UA.KOI8-U.
(6) Текст-ориентированные WWW-клиенты, в ваш терминал должны
быть предварительно загружены соответствующие шрифты.
(7) Корректная работа только с буквами, специальные символы
отображаются неправильно.
Как создавать и обрабатывать HTML-документы в koi8-u
Cуществует два метода определить, что ваш документ написан в специфической
кодировке, типа koi8-u:
-
Со стороны клиентской части
-
Со стороны сервера (метод конфигурации HTTP-daemon'а)
Если вы не используете ни один из их, ваш документ обрабатывается как Latin1
документ, то есть набор символов по умолчанию (ISO 8859-1) принимается
согласно стандартам.
Замечание: Большинство людей никогда не беспокоятся о том,
чтобы следовать стандартам написания HTML-документов в кириллице, много
из которых, написанных в кодировке koi8 или cp1251, или не имеют атрибута
charset, или он установлен неправильно. В результате чего WWW-клиенты,
которые придерживаются стандартов, могут отображать такие документы, используя
кодировку Latin1 (ISO 8859-1), что делает текст полностью нечитабельным.
Это не вина WWW-клиента. В этом случае рекомедуется обратиться к автору
HTML-документа, и попросить его привести их в соответствие со стандартами,
используя один из методов, описанных здесь.
-
Как запросить у удаленного сервера документ в нужной кодировке
-
Как сообщить удаленному серверу о локально установленной кодировке.
-
Обработка других ресурсов Internet с кириллицей, которые обслуживаются
не через HTTP.
-
Настройка Apache HTTPD для поддержки кодировки koi8-u
Windows 95, 98
Для стандартного Windows95, установите многоязыковую поддержку. В группе
Control Panel -> Add/Remove Programs, выберите "Windows Setup" и удостоверьтесь,
что установлена MultiLanguage
Support. Этот пункт включен в поставку версии PanEuropian, и устанавливается
по умолчанию. То же касается и Русской версии Windows95. (В стандартной
американской версии требуется ее доустановка.
Windows95 предъявляет более строгие требования к шрифтам. Для нормальной
работы требуется наличие всех вариантов шрифтов (жирный, курсив, жирный
курсив), и если присутствуют только нормальные варианты шрифта - на местах
использования несуществующих вариантов отображаются пробелы.
KOI8-U and Cyrillic CP1251 Windows TTF Fonts
Применяемое программное обеспечение:
Этот список включает только 32-битное программное обеспечение.
WWW-клиенты:
-
Microsoft Internet Explorer 5.0
Поддерживает koi8-r и koi8-u. Использует таблицы перекодировки. Требуется
только поддержка стандартной кириллицы для Windows.
Инструкция
по настройке поддержки koi8-u MS IE4.0/5.0 MS Outlook Express Валерия
Жураковского
-
Netscape 4.5, 4.6
Поддерживает koi8-r. Использует таблицы перекодировки, требуется только
поддержка стандартной кириллицы для Windows.
Замечание: Для корректной работы Netscape and MS IE необходимо
использовать Европейские UNICODE-шрифты для Windows, использовать русскую
редакцию Win95, или устанавливать "MultiLanguage Support".
-
Lynx2.7.1 (этот консольный алфавитно-цифровой WWW-клиент имеет превосходную
поддержку koi8-r, а также перекодирование налету cp1251 в koi8-r) Он требует
настройки консоли на koi8-r.
Настройка. См. также домашнюю страницу Lynx.
Newsreaders:
-
Microsoft Internet Mail and News 1.0
(поддерживает koi8-r, доступна русская версия) Использует таблицы перекодировки,
требуется только поддержка кириллицы в Windows по умолчанию.
Настройка.
Электронная почта:
-
Microsoft Outlook Express
Поддерживает koi8-r и koi8-u, существует русская версия. Использует
таблицы перекодировки, необходима только поддержка кириллицы в Windows
по умолчанию.
Настройка.
-
Netscape Messenger
Поддерживает koi8-r. Использует таблицы перекодировки, требуется только
поддержка стандартной кириллицы для Windows.
Telnet:
Настройка Программного Обеспечения:
-
Как настроить почтовый агент Eudora for Windows для работы с koi8-u.
-
Как настроить Netscape Messenger для работы с koi8-u.
-
Как устанавливать ForteAgent для koi8-u.
X Window
Обычное место для этих шрифтов -
/usr/X11R6/lib/X11/fonts/cyrillic/koi8-u
но если вы не можете изменять системные директории, поместите их в любой
директории. Система должна сначала обращаться в эту директорию в списке
FontPath, (смотрите /etc/XF86Config или подобный ему файл конфигурации
в вашем варианте X11), если вы устанавливаете шрифты в системном директории,
или наберите команду:
xset +fp koi8-u
чтобы добавить их локально в конфигурацию системы.
Для проверки, стоит ли небходимая директория первой в списке,
используйте команду:
xset q
Locales:
Для koi8-u пока не существует locale. До его подготовки можно использовать
существующий locale для koi8-r.
-
X11R5
NLS Распакуйте его в /usr/{X386, X11R6,... }/lib/X11/. Это необходимо
для того, чтобы Netscape мог быть способен вырезать и вставлять русский
текст. Если вы не можете изменять системные директории, поместите это в
любой каталог и в этом случае установите системную переменную XNLSPATH
так, чтобы она указывала на эту директорию.
-
X11R6
Locale. Распакуйте это в /usr/X11R6/lib/X11/locale. Это не нужно для
XFree86 3.2, так как оно уже включено в стандартную поставку.
Клавиатура:
В XFree86 3.2 уже заложена возможность работы с различными кодировками,
такими, как koi8-u. В файле /usr/X11R6/include/X11/keysymdef.h определены
имена всех необходимых символов, но работа с ними через клавиатуру не стандартно
не предусмотрена. Существует два способа сделать возможной работу с кодировкой
koi8-u.
С использованием Xkb.
В этом случае вам необходимо выполнить следующие дейстия:
-
Перезаписать файлы:
/usr/X11R6/lib/X11/xkb/keymap/xfree86
/usr/X11R6/lib/X11/xkb/keymap.dir
-
Добавить файл:
/usr/X11R6/lib/X11/xkb/symbols/ua
-
В файле /etc/XF86Config:
Закоментировать строку:
XkbDisable
-
Заменить соответствующую строку на:
-
"xfree86(ua)"
-
C использованием Xmodmap
Здесь приведен файл .Xmodmap-ua, который переопределяет клавиши для
работы в koi8-u. Данная раскладка клавиатуры пока не стандартизована, но
она уже используется в FreeBSD. Обычное расположение для файла .Xmodmap
- директоря:
/usr/X11R6/lib/X11/xinit
Вы можете расположить данный файл в указанной директории, или в любом
другом месте, если вам не даны полномочия изменять системные директории.
В таком случае, вам необходимо, например, в файле .xinitrc вписать следующую
строку:
usermodmap=$HOME/.Xmodmap-ua
соответственно, расположив этот файл у себя в "home"-директории. При
этом строка
XkbDisable
файла /etc/XF86Config должна быть раскоментирована.
Замечание: В версии XFree86 3.1.2 применим только метод
с использованием Xmodmap. Одновременно оба метода для разных пользователей
одной системы не могут быть использованы. Явный признак ошибочного использования
их одновременно - некорректная работа некоторых клавиш в основном цифровой
клавиатуры.
Метод с Xkb потенциально более удобен для возможных доработок, которые
могут позволить работать с несколькими раскладками клавиатуры (более двух,
как это реализовано в данном варианте /usr/X11R6/lib/X11/xkb/symbols/ua
Кроме того, для работы Netscape в директории /usr/X11R6/lib/X11/nls
должны присутствовать файлы данного архива
Local archive of supplement packages
for XFree Cyrillisation
Применимое программное обеспечение:
WWW-клиенты:
-
Netscape 4.5, 4.6 (X11) (поддерживает koi8-r)
См. также как устанавливать Netscape 4.x для работы с koi8-r
Должны быть установлены KOI8-R шрифты
Электронная почта:
-
Netscape Messenger - Входит в состав Netscape 4.x и поддерживаетKOI8-R
-
XMH - Поддерживает KOI8-R и KOI8-U при правильно установленном X
Windows
MS-DOS
Настройка Программного Обеспечения:
UNIX
Для работы с koi8-u в FreeBSD существует комплект
необходимых файлов, подготовленный Игорем
Свиридовым Он включает в себя locale LC_CTYPE.
До разработки соответствующего koi8-u рекомендуется использовать аналогичный
LC_COLLATE
из локализации для koi8-r Шрифты из данного комплекта соответствуют
кодировке ruscii а файлом,управляющим выводом на экран, осуществляется
перекодировка в соответствии с кодировкой koi8-u.
В оригинальном комплекте, предлагаемом Свиридовым содержатся также
скрипты для доустановки их в стартовые скрипты системы, которые приводят
в рабочее состояние шрифты и клавиатуру koi8-u. Видимо, это было сделано
для более старых версий FreeBSD. Однако, после копирования всех необходимых
файлов достаточно произвести следующие изменения в файлах системной конфигурации:
-
Добавить в файл /etc/sysconfig строки (или заменить ими существующие):
-
Добавить в файл /etc/csh.login строку:
[ -f .locale ] || setenv LANG uk_UA.KOI8-U
Linux
Наиболее полное описание, как настроить Linux для работы с KOI8-U подготовлена
Денисом Дмитриенко из Cinet, Chernigiv -
http://www.cinet.cn.ua/NOC/ukr/
Для работы с koi8-u в Linux существует пакет, подготовленный Игорем
Романенко при помощи Андрея Блохинцева, Игоря Свиридова, Руслана Белкина,
Станислава Вороного и Дмитрия Кохманюка.
Применимое программное обеспечение:
-
WWW-клиетны:
Newsreaders:
-
TIN1.3
Алфавитно-цифровой агент новостей, для работы с koi8-u требуется только
установить переменную окружения setenv MM_CHARSET в koi8-u)
Электронная почта:
-
ELM-2.4ME + (расширенная версия
почтового агента Elm, поддерживает MIME, PGP, и так далее)
Настройка:
В файле
-
~/.elm/elmrc
установите:
-
charset = KOI8-R
-
displaycharset = KOI8-R
-
Pine3.96
Пользовательский агент для чтения почты/новостей, имеет большие возмжности
(включая поддержка удаленного почтового ящика, и др.).
Настройка Pine: в режиме (S)ETUP -> (C)ONFIGURE устанавлите
enable-8bit-esmtp-negotiations,
enable-8bit-nntp-posting и pass-control-character-as-is.
Затем, установите character-set в koi8-u, и сохраните установки.
Замечание: этот метод работает только с ESMTP-совместимыми sendmail.
Prepared by Dmitry Volodkovich.
Edited by Yuriy Demchenko.