我正在阅读粘贴到电子邮件正文中的日志文件,其中一些使用各种不同的语言,并且所有语言字符似乎都能正确显示,但俄语除外。
以下是俄罗斯人在日志文件中所说的示例:
Ссылка на объект не указывает на экземпляр объекта。
♀
从我读过的内容来看,我需要在 mb_encoding (UTF-8) 行中指定解码或编码,但我对如何在不影响非俄语代码的情况下实际构建它有点迷茫。但是当回显出来时,它会转换为:
СÑылк¡° на ¡¾Ð±ÑŠÐµÐºÑ‚ не ук¡°Ð·Ñ‹Ð²Ð°ÐµÑ‚ на ÑкземплÑÑ€ объекта。в
这是我已经使用的代码,我是一个 php 初学者,其中一些不是我的代码,我已经编辑以适应但不是 100% 一切都在做什么:
$mailbox = "xxx@gmail.com";
$mailboxPassword = "xxx";
$mailbox = imap_open("{imap.gmail.com:993/imap/ssl}INBOX",
$mailbox, $mailboxPassword);
mb_internal_encoding("UTF-8");
$subject = mb_decode_mimeheader(str_replace('_', ' ', $subject));
$body = imap_fetchbody($mailbox, $val, 1);
$body = base64_decode($body);
echo $body;
一旦我echo
取出正文,它就会从俄语转换为该编码,我可以剖析类似代码的任何指针以了解如何解决这个问题?
请记住,从电子邮件中读取了多种语言,大部分只是一些片段,其余的是基本日志记录,但我担心的是,如果我设置了一个新的解码,它会弄乱其他语言字符