[imap] Декодирование тем писем

artzavod

Новичок
[imap] Декодирование тем писем

Через IMAP подключаюсь к почтовому серверу, получаю списки писем, пробегаю по письмам и получаю тему письма и тело письма. Вопрос: подскажите как декодировать следующие темы:

=?koi8-r?b?7sug1ctbxdtt0sdez9puwdfj1ng6iohl1nxbznjo2cugzs/xz9puysaynsdb?=
=?utf-8?b?vw5kzwxpdmvyywjsztog0jdqutgc0ypqsnc70yzqvdgl0lug0l0=?=

отметка ?b? указывает на то что это base64 кодирование. А также присутствует отметка о кодировке, но что то у меня не получается декодировать.
 

Фанат

oncle terrible
Команда форума
что. значит. не получается? клавиатура из рук выпадает?
 

artzavod

Новичок
Клавиатура не выпадает, но читабельный текст не получается.

на выходе вот что: �d� ivk����� �7j���*j�w;�,��%�[��]
 

Фанат

oncle terrible
Команда форума
а в какой это кодировке?
а в какой кодировке остальная страница?
 

artzavod

Новичок
php код:

Код:
<?php
header('Content-Type: text/html; charset=UTF-8;');

$subject = '=?utf-8?b?vw5kzwxpdmvyywjsztog0jdqutgc0ypqsnc70yzqvdgl0lug0l0=?=';
$items = imap_mime_header_decode($subject);
for ($i=0; $i<count($items); $i++) {
    $tmp_charset 		= $items[$i]->charset;
    $tmp_text 			= $items[$i]->text;
	print "'$tmp_text' ($tmp_charset)\n";
}
?>
результат работы:

'&#65533;d&#65533; ivk&#65533;&#65533;&#65533;&#65533;&#65533; &#65533;7j&#65533;&#65533;&#65533;*j&#65533;w;&#65533;,&#65533;&#65533;%&#65533;[&#65533;&#65533;]' (utf-8)
 

Фанат

oncle terrible
Команда форума
огосподи.
второй раз встречаю упоминание функции imap_mime_header_decode и второй раз она выдает фигню.
неужели так трудно руками разобрать строку по разделителям и раскодировать несчастный бейс64? это же две строчки кода.
 

artzavod

Новичок
В том то и дело что я пробовал декодировать текст между разделителями, и декодировать его через base64_decode(); на выходе абсолютно тоже самое что в посте выше. Сам попробуй. Поэтому я и прошу помощи в декодировании.
 

dimagolov

Новичок
artzavod, а ты уверен, что закодированно правильно?

-~{}~ 25.04.09 14:12:

100% что не правильно, вот это =?UTF-8?B?UmU6INCf0YDQuNCy0LXRgiE=?= раскодирует без проблем.

-~{}~ 25.04.09 14:14:

похоже, что где-то потерялись большие буквы, так как в твоих примерах их нету ни одной
 

artzavod

Новичок
Ну правильно закодировано или нет, судить не могу. Подобных писем приходит очень много (в разных кодировках и с пометкой ?b?), и ни одно не могу раскодировать.

Вот ещё куча таких заголовков:

=?utf-8?b?vw5kzwxpdmvyywjsztog0jdqutgc0ypqsnc70yzqvdgl0lug0l0=?= =?utf-8?b?0l7qstc+0yhrgtc4idi1incw0l/rgnc10lvrjyaymda5?=

=?koi8-r?b?7sug1ctbxdtt0sdez9puwdfj1ng6iohl1nxbznjo2cugzs/xz9puysaynsdb?= =?koi8-r?b?0nlfznegmjawoq==?=

=?utf-8?b?vw5kzwxpdmvyywjsztog0kdrktcg0ztqoekamtch0zpqomkw0kdcu9ch0irq?= =?utf-8?b?oncf0khiglnqomk1incg0ixqongv0kdqhtcg0zxqodcd0khigjrqongridi1?= =?utf-8?b?incgwrdqongx0khqgtcgwrxqomk70khqjyaymda5?=

=?utf-8?b?0jdqutgc0ypqsnc70yzqvdgl0lug0l3qvtcy0l7rgdgc0lggmjug0ldqv9ga0lxqu9gpidiwmdk=?=


=?koi8-r?b?9+7p7ehu6eu6ipppz8ldxc7jxsdoxsdez9puwdfmxc7p?=: =?utf-8?b?0jdqutgc0ypqsnc70yzqvdgl0lug0l3qvtcy0l7rgdgc0lggmjug0ldqv9ga0lxqu9gpidiwmdk=?=

=?windows-1251?b?z+7x8u7/7e3g/ydu+ojh6uag5o7x8udi6ug=?=

Все письма с разных источников, маловероятно что все с битыми заголовками?
 

dimagolov

Новичок
artzavod, я тебе конкретно указал проблему, у тебя меняется регистр букв на малые. ищи, где это происходит.
 

artzavod

Новичок
Хм, интересно... Сейчас гляну где большие буквы теряются.

-~{}~ 25.04.09 21:42:

Спасибо, действительно был strtolower.
 
Сверху