Привет, Всем!Я использую почтовый сервер EXIM. Каким образом можно заменять кодировку в входящих сообщениях с KOI8-R на UTF-8?
Заранее спасибо всем!
Зачем?>Привет, Всем!
>
>Я использую почтовый сервер EXIM. Каким образом можно заменять кодировку в входящих
>сообщениях с KOI8-R на UTF-8?
>
>Заранее спасибо всем!
Дело в том, отправляются сообщения на украинском языке.
Если допустим, отправляется буква «І», я получаю у себя на входе сообщение, где charset=koi8-r а сама буква закодирована как «=B6=».
Но в таблице кодирования KOI8-R нет вообще поддержки украинского, а во вторых символ «=B6=» это вообще какая-то фигня.
Насколько я вижу, кодировка UTF-8 поддерживает русский и украинский язык.
Поэтому мен нужно заменять кодировку с KOI8-R на UTF-8. И наверное символ «=B6=» перезаписывать на «=B2=» согласно кодировки UTF-8.
Кодировку письма формирует на этапе отправки почтовая программа,
В какой кодировке оно было отправлено, в такой к вам и придет, главное чтобы ваш почтовый клиент мог отображать письма в необходимой кодировке>Дело в том, отправляются сообщения на украинском языке.
>Если допустим, отправляется буква «І», я получаю у себя на входе сообщение,
>где charset=koi8-r а сама буква закодирована как «=B6=».
>Но в таблице кодирования KOI8-R нет вообще поддержки украинского, а во вторых
>символ «=B6=» это вообще какая-то фигня.
>Насколько я вижу, кодировка UTF-8 поддерживает русский и украинский язык.
>Поэтому мен нужно заменять кодировку с KOI8-R на UTF-8. И наверное символ
>«=B6=» перезаписывать на «=B2=» согласно кодировки UTF-8.
Дело в том, что все входящие сообщения передается другой внешней программе.Для меня очень важно заменить этот и другие украинский символы на символы согласно схеме кодирования UTF-8.
Поэтому у меня и вопрос, как можно получив сообщение, заменить кодировку и передать это же сообщение дальше на внешнюю программу.
Честно говоря готового велосипеда для этой задачи не знаю, могу предложить изобрести свой :)
наверняка к exim можно прикрутить content_filter в котором анализировать заголовки, определять кодировку и пытаться переделывать письмо, инфу по формату сообщений в инете полно...
>Дело в том, что все входящие сообщения передается другой внешней программе.
>
>Для меня очень важно заменить этот и другие украинский символы на символы
>согласно схеме кодирования UTF-8.
>Поэтому у меня и вопрос, как можно получив сообщение, заменить кодировку и
>передать это же сообщение дальше на внешнюю программу.
Возможно у тебя, у тебя есть готовые примеры с использованием «content_filter», если да, то дай, пожалуйста, ссылки на уже какие-то готовые примеры.
Может быть через iconv?
>Может быть через iconv?А может и через sed s/koi8-r/koi8-u/ig
>Для меня очень важно заменить этот и другие украинский символы на символы
>согласно схеме кодирования UTF-8.Не нужно вам ничего менять, нужно писать софт по-человечески, чтобы письма обрабатывались независимо от кодировки.
>>Для меня очень важно заменить этот и другие украинский символы на символы
>>согласно схеме кодирования UTF-8.
>
>Не нужно вам ничего менять, нужно писать софт по-человечески, чтобы письма обрабатывались
>независимо от кодировки.Клиент находится не у меня.
Я выступаю в роли транспорта. Отправитель отказывается менять, что-либо у себя.
Поэтому эту замену нужно сделать с моей стороны.
При чем тут отправитель?Отправитель формирует письмо согласно стандартов (в частности, если в заголовках указано koi8-r, в письме корректный koi8-r; если в заколовках koi8-u, в письме корректный koi8-u; если в заголовках utf-8, в письме корректный utf-8)? Если нет, пусть разбирается сам. Если да, то очевидно неправильно работает программа, которой вы передаете письма - разбирайтесь с ней. Ничего во время передачи письма менять не нужно.