Сообщение: Следующий текст в двухбайтовой кодировке русских букв.
Фирма Lotus в продукте Notes хранит в базах текстовую информацию любого типа (и в полях типа Text, и внутри полей типа RichText) в кодировке LMBCS. В этой кодировке один символ кодируется несколькими байтами: английские буквы - одним байтом, русские - двумя, китайские, японские, корейские - тремя... Внутри базы допускаются тексты, в которых рядом находятся и английская буква, и русская буква, и японский иероглиф. При выводе текстовой информации из баз на экран происходит перекодирование ее из LMBCS в кодировку, поддерживаемую машиной (native). Перекодировка ведется по таблицам .cls. При этом не на всех платформах такое преобразование может работать. Если какой-то символ из текста в базе по текущей таблице перекодировки не может быть сопоставлен символу в кодировке машины, он будет виден на экране на Windows-платформах как что-то среднее между мягким знаком и буквой Б, а в OS/2 - в виде полностью закрашенного квадрата.
Notes использует в качестве таблиц перекодировки l_cpdos.cls, l_cpwin.cls - только Windows-подобные платформы, а сортировки - collstd.cls.
Для России Lotus считает законной двухбайтовую кодировку русских букв, когда файлы перекодировки и сортировки выбраны так:
copy l_cp866.cls l_cpdos.cls
copy l_cp1251.cls l_cpwin.cls (кроме OS/2)
copy collcyr.cls collstd.cls
Когда ставится русский клиент, это "копирование" происходит автоматом.
Однако Lotus приняла соглашение о двухбайтовой кодировке русских букв только после того, как Notes стали применять в России. В те далекие времена и другого то варианта не было, как установить продукт со следующими файлами кодировки и сортировки
copy l_cp437.cls l_cpdos.cls
copy l_cp1252.cls l_cpwin.cls
copy collus.cls collstd.cls
Когда ставится английский клиент или сервер, именно такой выбор таблиц происходит автоматом. В этом случае символы с кодами от 128 до 255 в основном соответствуют греческим буквам (такими их считает Notes), Notes-ом сортируются по гречески, но за счет руссификатора и фонтов рисуются на экране как русские буквы.
Однако при установке и сервера, и клиента Notes пытается разобраться, какие кодовые страницы выбраны на машине, и какие соответствующие таблицы перекодировки выбрать ему, но без особого успеха.
Наконец, умельцы из Киева хакерски разобрались со структурой таблиц перекодировки и сделали свои собственные cls, которые, если их скопировать в collcyr.cls в collstd.cls, l_cp866.cls в l_cpdos.cls, l_cp1251.cls в l_cpwin.cls, будут перекодировать из LMBCS в кодировку машины так, что и русские буквы в двухбайтовой кодировке, и русские буквы в однобайтовой кодировке русуются на экране нормально. Но новая информация в базу пишется в двухбайтовой кодировке.
Последняя версия CLS файлов из Киева, при которых ищутся слова с "р" и "*", "ж" и "*", при этом надо указать Case sensitive при создании индекса.: Файл l_cpwin.cls остается из предыдущего набора. Необходимо опять же провести копирование этих файлов в базовые cls файлы.