들어오는 전자 메일을 처리하고 Blogger에 블로그 항목을 만드는 스크립트를 설정했습니다. 들어오는 메시지를 읽으려면 PEAR의 Mail_Mime 라이브러리 (지금은)를 사용하고 있습니다. 메시지에는 브라우저에서 읽을 수없는 문자가 포함되어있는 경우가 종종 있습니다. 이는 사람들이 Outlook을 사용하거나 MS Word에서 잘라내 기/붙여 넣기를 할 때 가장 자주 발생합니다.HTML 표시 용 수신 전자 메일의 서식을 지정하는 방법
그래서 다른 쪽의 출력은 다음과 같은 것입니다 : 여기
는 "따옴표"와 '와 함께 테스트 게시물입니다 그 가치는, 또한 이상한 dashesand 다른 무슨 apostrophesfor MS Word에서 잘라내어 붙여 넣기를 포맷합니다.
야생에서는 see the output 일 수도 있습니다.
특정 인스턴스를 수정하는 것은 어렵지 않지만 각 클라이언트 (hotmail, gmail, Outlook 등)는 상황을 조금 다르게 처리하는 것처럼 보입니다. Mail_Mime은 출력을 무시하는 것처럼 보입니다. Mail_Mime의 구문 분석을 끄고 mb_convert_encoding이나 수동 시뮬레이션을 사용하여 인코딩 된 문자를 직접 번역하려고하면 오류가 더 심해집니다.
올바른 인코딩 유형을 선택하고 디코드/인코딩/변환 기능을 사용하면 해결되지 않을 수 있습니다. 들어오는 형식은 Windows-1252에서 UTF8까지 다양하며 메일 클라이언트가 생각할 수있는 모든 것까지 다양합니다.
이 방법으로 스크립트를 작성한 사람이라면 누구나 최선의 방법에 대한 샘플이나 조언을 제공하여 시간을 절약 할 수 있습니까? 모든 간단한 대답을 시도하고 실험을 많이 했으므로 유사한 문제를 성공적으로 처리하지 않았거나 인코딩 문제를 깊이 이해하지 않는 한 응답하지 마십시오.
전자 메일 메시지는 헤더에 지정된대로 해석되어야합니다 (* Content의 * charset * 매개 변수 참조). - 유형 * 필드). 누락 된 경우 RFC 5322는 US-ASCII를 의미합니다. – Gumbo
이것은 Mail_Mime에 의해 자동으로 수행됩니다. 문제는 단순히 프로토콜을 이해하는 것보다 훨씬 복잡합니다. – Kato
이 게시물은 흥미로운 생각을 가지고 있습니다 : http://stackoverflow.com/questions/2686515/problem-with-character-encoding-on-email-sent-via-php 어떻게 적용 할 수 있는지 알 수 없었습니다. 그래도 내 문제. – Kato