Outlook에서 이메일의 제목 줄을 사용하여 내용을 게시 할 수있는 웹 사이트가 있습니다. PHP와 imap을 사용하여 텍스트의 제목 줄을 얻고이를 mysql db에 저장합니다. 그러나 때때로, 누군가는 웹 사이트의 텍스트를 그 이메일의 제목 줄로 복사 할 것이고, 나는 왜곡 된 텍스트를 얻을 것이다. 이와 유사 :imap 제목 줄에있는 Windows-1252 문자를 UTF-8로 디코딩
=? Windows-1252? Q_Every_day_in_our_offices_we_recycle_cardboard, 알루미늄? = =? Windows-1252? ? = 96_won = 92t_you_join_us = 3 층 =
내가 무슨 짓을했는지하는 것은 다음과 같은 코드를 사용하여 페이지에 정상 표시됩니다 있도록이 텍스트를 해독하려고입니다 : 내가 제거 완료되면
$subject = strip_tags($mailHeader->subject);
$header = imap_mime_header_decode($subject);
$subject = "";
for($i=0;$i<count($header);$i++)
{
$subject .= $header[$i]->text;
}
을 대부분의 깨진 텍스트가 있지만 원래 제목 줄 텍스트에 있던 em 대시와 둥근 따옴표 대신에 대체 문자가 남습니다. 아래의 결과를보십시오 :
우리 사무실에서 우리는 매일 골판지, 알루미늄을 재활용합니다. 우리와 함께 하시겠습니까?
웹 사이트의 문자 집합이 UTF-8로 설정되어 있습니다. 웹 사이트 문자 세트를 ISO-8859-1로 설정하면 대체 문자가 둥근 따옴표로 바뀝니다. 대시이지만 UTF-8로 웹 사이트의 문자 세트를 남기고 싶습니다.
charset을 ISO-8859-1로 변경하지 않고 대체 문자를 제거하는 방법에 대한 도움이 될 것입니다. 감사.
덕분에, 그것은 완벽했다. 게시 한 코드에 약간의 수정이 필요했습니다. 나는 누군가 다른 사람이 언젠가이 문제에 걸려 넘어지면 그것을 아래에 게시 할 것이다. – JoeRDG