簡體   English   中英

從 IMAP 電子郵件的正文中讀取日文字符

[英]Reading japanese characters from the body of an IMAP E-Mail

我嘗試使用以下代碼獲取日語中 email 的主體:

header('Content-Type: text/html;charset=utf-8');  
$mbox = imap_open ("{localhost:995/pop3/ssl/novalidate-cert}",        "***@*****.com", "*******");
$email="something@something.com";
$num_mensaje = imap_search($mbox,"FROM $email");
$body =  imap_fetchbody($mbox,$num_mensaje[0],"1");

echo imap_8bit($body));

但對我不起作用我看到這個*$B$3$s$K$A$O!"$=$N$h$&$J

有任何想法嗎

提前致謝

我只嘗試使用此代碼片段將ISO-2022-JP 消息解碼為 UTF-8 ,它對我有用。

$temp = iconv_mime_decode($email['overview'][0]->subject,0,"ISO-2022-JP");
echo mb_convert_encoding($temp, "UTF-8", "JIS");

由於<ESC>$B是 JIS 編碼中的主要控制序列之一,並且您的 output 以*$B開頭,因此您的數據似乎來自該來源。 嘗試使用 JIS(或 SJIS)中的mb_convert_encoding

編輯:如果您可能從多種編碼中接受日語,您可以查看mb_detect_encoding function; 使用適當的編碼列表。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM