У меня есть PHP-скрипт, который обращается к почтовому ящику imap.
Когда я отправляю по-английски, по-испански и по-французски, он работает отлично, но по-русски я понимаю, что это, вероятно, проблема с кодировкой, но я ничего не пытаюсь работать.
это то, что он напечатал:
PiAq8NLJ18XUIM3PyiDE0tXHKiAuCj4 + CJ4 + CJ4 + Cj4K
$email=$_REQUEST['email']; $mbox = imap_open ("{localhost:995/pop3/ssl/novalidate-cert}", "info@******.com", "**********"); $num_mensaje = imap_search($mbox,"FROM $email"); $body = imap_fetchbody($mbox,$num_mensaje[0],"1"); $str = imap_utf8($body); if ($str != null){ $arr=array('id'=>'0','email'=>"$email",'respuesta'=>"$str"); $output[] = $arr; print(json_encode($output)); }else{ $arr2=array('id'=>'0','email'=>"$email",'respuesta'=>"norespuesta"); $output2[] = $arr2; print(json_encode($output2)); } imap_close($mbox);
Преобразовать в utf с помощью
imap_utf8($text);
Подробнее см. http://php.net/manual/ru/function.imap-utf8.php.