Соответственно, есть таблицы перекодировки между CP866 и KOI8-R в обе стороны.
Попробовал создать сообщение в KOI8-R. Замечательно создалось, сохранилось в базу с правильным CHRS, но просмотреть я его не смог. А все дело в том, что даже если кодировка письма совпадает с локальной, эхотаг всё равно пытается загрузить таблицу перекодировки. В данном случае KOI8-R -> KOI8-R. Что довольно глупо.
Когда я ему такую таблицу подсунул, он замечательно мне показал сообщение.
Что я сделал? Я изменил код загрузки таблиц кодировки, чтобы он обнаруживал подобные случаи и справлялся без дополнительных настроек. Плюс этот код учитывает настроенные алиасы.
Например, если у вас настроен алиас: XLatCharsetAlias KOI8-R KOI8 KOI8R И локальная кодировка KOI8-R, а письмо придет с "CHRS: KOI8 2", то это правильно обработается и таблица перекодировки будет не нужна.
Код на ревью.
Best regards, Vitaliy Aksyonov.
... Пиво по утрам не только вредно, но и полезно. --- GoldED+/LNX 1.1.5-b20231029 * Origin: Aurora, Colorado (1:104/117)