Как расшифровать тему windows-874 imap?

У меня серьезные проблемы с декодированием IMAP. Я получил письмо, которое может быть закодировано в windows-874. И это приводит к прочтению всего письма. Я пытался использовать iconv('tis-620','utf-8',$txt) но мне не повезло.

Я пытался найти везде, что может быть ответ, но кажется, что это первая проблема вселенной. (или я не ищу правильное слово?)

Тема:

Charset: ASCII

=? Окна-874?Q?= СВ = Е9=CD= А7 = ВЕ = D1 = A1 = С3=D2=A4=D2= ВЕ = Д4 = Е0= С8 = С9=CA=D3= СВ = С3=D1=BA=A7=D2=B9=E4=B7=C2=E0=B7=D5=E8=C2=C7=E4=B7=C2=A4=C3=D1=E9=A7=B7=D5=E8 30 =E2=C3=A7=E1=C3=C1=CA=C7=D1=CA=B4=D5=CA=D8=A2=D8=C1=C7=D4=B7=AB=CD=C2 8?=

Итак, скажите, пожалуйста, что такое кодировка, если это не TIS-62. Как я могу расшифровать это на человеческий язык?

1 ответ

Наконец я нашел дорогу домой. Сначала я создал функцию для обнаружения любой кодировки в данном тексте.

function win874($str){
    $win874=strpos($str,"windows-874");
    return $win874;
}

function utf8($str){
    $utf8=strpos($str,"UTF-8");
    return $utf8;
}

Затем я конвертирую с помощью функций php:

if(win874($headers->subject)=="0" and utf8($headers->subject)=="0"){
    echo $headers->subject;
}
if(win874($headers->subject)>="1"){
    $subj0=explode("?",$headers->subject);
    echo $subj0[3];
}
if(utf8($headers->subject)>="1"){
    echo imap_utf8($headers->subject);
}

Потому что текст с windows-874 всегда начинается с "=? Windows-874?Q?" поэтому я использовал простую функцию вроде explode(), чтобы извлечь основную идею из барахла. Как я уже сказал, основная идея всегда приходит после 3-го знака вопроса. Тогда у меня есть предмет.

Но проблема остается. Мне все еще нужно изменить кодировку браузера на тайский, чтобы сделать текст читабельным. (Настройки> Инструменты> Кодировка> Тайский: в Chrome). Какие-либо предложения?

Другие вопросы по тегам