Русская символьная кодировка с IMAP - PullRequest
0 голосов
/ 21 марта 2012

У меня есть сценарий 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);

1 Ответ

1 голос
/ 21 марта 2012

Конвертировать в utf с

imap_utf8($text);

Подробнее см. http://php.net/manual/ru/function.imap-utf8.php

...