Top.Mail.Ru
Ответы
Аватар пользователя
11лет
Изменено
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+4

Как декодировать: =?UTF-8?Q?=

Нужен пример кода для декодирования: =?UTF-8?Q?=
1. Не нужно кричать типа: g.zeos.in/?q=%D0%B4%D0%B5%D0%BA%D0%BE%D0%B4%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D1%82%D1%8C%20%3D%3FUTF-8%3FQ%3F%3D




2. Не нужно говорить мол читай стандарт такой то и такой то.. .

3. Рассказывать что это тоже не нужно, я уже прочитал.




Просто помогите куском кода для декодирования:

=?UTF-8?Q?=D0=9F=D1=80=D0=B8=D0=BA=D0=BE=D0=BB=D1=8C=D0=BD=D0=B0?= =?UTF-8?Q?=D1=8F=20=D1=82=D0=B5=D0=BC=D0=B0?=

Дополнен

Неужели тяжко дать то что просят?? ?

При декодировании получаю:

????

или

=?UTF-8?Q?=всем при =?UTF-8?Q?=вет - типа того.. .

Дополнен

UTF-8?Q?Прикольная? % %?UTF-8?Q?я тема

Дополнен

Подскажите может такой вариант кода:
парсим строку на предмет =?UTF-8?Q?=

начиная со второго повтора удаляем такие части кода: ?= =? UTF-8?Q?

получаем чистую строку:

=?UTF-8?Q?=D0=9F=D1=80=D0=B8=D0=BA=D0=BE=D0=BB=D1=8C=D0=BD=D0=B0=D1=8F=20=D1=82=D0=B5=D0=BC=D0=B0





А она уже в свою очередь адекватно декодируется без всяких кусков кода.. .

Но дело в том что данная логика работы это костыль, если есть прямое шифрование, то должно же быть и обратное (в данном случае) .




RoundCube же как то декодирует эти заголовки, только не могу разобраться в его коде как...

Дополнен

Берите пример с Алексей Кузьминов
извиняюсь забыл уточнить:

нужна кодировка KOI8-R (т. к. сервер на UNIX)

язык программирования php

проект php mail client, другие скрипты не подходят т. к. по мере изучения пхп пишу свой проект.

Дополнен

Все оказалось до безобразия просто:

function fix_text($tema)
{
$subject = '';
$subject_array = imap_mime_header_decode($tema);

foreach ($subject_array AS $obj)
$subject .= rtrim($obj->text, "\t");
return $subject;
}

Источник: php.net/manual/en/function.imap-header.php

По дате
По рейтингу
Аватар пользователя
Новичок
11лет

ну если ты все знаешь, какого лешего спрашиваешь

Аватар пользователя
Мудрец
11лет

Блин, пишешь mail client, но не знаешь, что такое MIME и как он может выглядеть в бинарном виде.
Это обычный MIME Header c quoted-printable кодировкой, в нем лежит UTF-8.

Погуглить MIME Parser <имя моего любимого ЯП> никак не получается?

Аватар пользователя
Искусственный Интеллект
11лет

github.com/roundcube/roundcubemail/blob/master/program/lib/Roundcube/rcube_mime.php, функция decode_mime_string (197 строка) , перед вызовом объявить константу define("RCUBE_CHARSET", "KOI8-R"); и инклюдить github.com/roundcube/roundcubemail/blob/master/program/lib/Roundcube/rcube_charset.php. Достаточно разжевано?

Аватар пользователя
Мудрец
11лет

Вы бы уточнили, в какую кодировку вы хотите конвертить utf-8.
И на каком языке программирования.

Нормальные языки имеют функции преобразования кодировок.
Если нужна ВРУЧНУЮ написанная программа, вот пример на VB:
http://habrahabr.ru/post/138173/

ЗЫ
Ваша кодировка называется quoted-printable

Аватар пользователя
Оракул
11лет

yandex.ru/yandsearch?text=UTF-8?Q?%D0%9F%D1%80%D0%B8%D0%BA%D0%BE%D0%BB%D1%8C%D0%BD%D0%B0?% %?UTF-8?Q?%D1%8F%20%D1%82%D0%B5%D0%BC%D0%B0&clid=9582&lr=213

Источник: это ответ