Как расшифровать тему 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). Какие-либо предложения?