Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > PHP: Общие вопросы > Кодировка имен вложений при получении почты |
Автор: Rusman 27.12.2013, 17:22 | ||
Здравствуйте! Получаю письма через функцию imap_open При разборе вложений получаем следующую структуру (Имя файла на кириллице в непонятном виде): stdClass Object ( [type] => 3 [encoding] => 3 [ifsubtype] => 1 [subtype] => VND.MS-OFFICE [ifdescription] => 0 [ifid] => 0 [bytes] => 1212792 [ifdisposition] => 1 [disposition] => attachment [ifdparameters] => 1 [dparameters] => Array ( [0] => stdClass Object ( [attribute] => filename [value] => =?UTF-8?Q?=D0=9F=D1=80=D0=B0=D0=B9=D1=81-=D0=BB=D0=B8=D1=81=D1=82_=D0=B5=D0=B2=D1=80=D0=BE=D0=BF=D0=B0_26.12_(1).xls?= ) ) [ifparameters] => 1 [parameters] => Array ( [0] => stdClass Object ( [attribute] => name [value] => =?UTF-8?Q?=D0=9F=D1=80=D0=B0=D0=B9=D1=81-=D0=BB=D0=B8=D1=81=D1=82_=D0=B5=D0=B2=D1=80=D0=BE=D0=BF=D0=B0_26.12_(1).xls?= ) ) ) Код:
Пожалуйста, подскажите как получить имена на русском языке, либо перевести данную строку в нормальный вид. Всем заранее спасибо! |
Автор: AVA12 27.12.2013, 20:18 |
Дык, тут же все очевидно из формата: строка в UTF-8 в виде quoted printable, завернутая в mime-кодированное слово. Если не хочется читать RFC, то просто скорми такую строку функции mb_decode_mimeheader() - и на выходе получишь исходную строку в рабочей кодировке. |
Автор: Rusman 27.12.2013, 20:34 |
AVA12, если использую функцию mb_decode_mimeheader, на выходе русские буквы в виде "????????????" |
Автор: AVA12 27.12.2013, 20:53 |
Тебе префикс mb_ и словосочетание "рабочая кодировка" ни о чем не говорят? |
Автор: Rusman 27.12.2013, 21:02 |
AVA12, разобрался, большое спасибо! |