| | | | |
| |||||||
| PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen |
|
| | LinkBack | Themen-Optionen | Thema bewerten |
| | |
| Neuer Benutzer Registriert seit: 14.12.2010
Beiträge: 2
PHP-Kenntnisse: Fortgeschritten ![]() | Hallo, ich arbeite zur Zeit an einem Skript, dass Mails von einem E-Mail Konto abruft und in einer Datenbank ablegt. Dabei interessiert nur der Text, also nur der Plain Text Teil - auch in HTML Mails. Der Text soll, um nur wenige Zeichenkodierungen auszuschließen, UTF-8 kodiert in der Datenbank gespeichert werden. Folgende E-Mail bereitet mir Probleme: Code: [...Mehr Headerzeilen...] Date: Sat, 11 Dec 2010 17:50:31 +1100 Subject: Test From: ............... To: ............... Mime-version: 1.0 Content-type: multipart/alternative; boundary="B_3374934632_9860382" > This message is in MIME format. Since your mail reader does not understand this format, some or all of this message may not be legible. --B_3374934632_9860382 Content-type: text/plain; charset="ISO-8859-1" Content-transfer-encoding: quoted-printable This test =ADpart of the test suite=B9s test --B_3374934632_9860382 Content-type: text/html; charset="ISO-8859-1" Content-transfer-encoding: quoted-printable <HTML> <HEAD> <TITLE>Test</TITLE> </HEAD> <BODY> <FONT FACE=3D"Verdana, Helvetica, Arial"><SPAN STYLE=3D'font-size:14pt'> This test –part of the test suite’s test<BR> </SPAN></FONT> </BODY> </HTML> --B_3374934632_9860382-- Bei =AD handelt es sich um einen längeren Bindestrich ("en dash", siehe http://www.ascii.cl/htmlcodes.htm) und bei =B9 um eine Art Apostroph ("right single quotation mark", siehe siehe http://www.ascii.cl/htmlcodes.htm). Die Zeichen werden in der HTML Repräsentation so aufgeführt: En dash: & #8211; Right Single quotation mark: & #8217; (die Leerzeichen hab ich eingefügt, so dass es im Forum nicht in das korrekte Zeichen umgewandelt wird) Um das Problem einfacher reproduzieren zu können, hab ich folgendes Testskript geschrieben. Die Umwandlung wird mit quoted_printable_decode und iconv gemacht: Code: <html>
<head><meta content="text/html; charset=utf-8" http-equiv="content-type"></head>
<body>
<?php
$msg = 'My test =ADpart of the test suite=B9s tests';
$msgHtml = 'My test –part of the test suite’s tests';
echo 'Correct (from HTML): ' . html_entity_decode($msgHtml) . '<br/>';
$msg2 = quoted_printable_decode($msg);
$msg2 = iconv('ISO-8859-1', 'UTF-8', $msg2);
echo 'Wrong (from plaint text): ' .html_entity_decode($msg2). '<br/>';
?>
</body>
</html>
Code: Correct (from HTML): My test –part of the test suite’s tests Wrong (from plaint text): My test part of the test suite¹s tests Ansonsten ist die falsche Konvertierung offensichtlich: aus dem Apostroph wird eine hochgestellte Eins. Ich weiß, dass die Mail von einem Mac Computer kommt, der Client war Microsoft Entourage. Nach Aussage des Absenders werden Apostrophe und Bindestriche immer so dargestellt, die "normale" Kodierung als single quotation mark bzw. minus/hyphen wird nicht benutzt Ich hoffe, jemand kann mir helfen, die Konvertierung zu korrigieren. Vielen Dank für eure Hilfe! Schönen Gruß print_r |
| |
| | |
| PHP Code Flüsterer Registriert seit: 21.08.2005 Beiträge: 4682 PHP-Kenntnisse: Fortgeschritten | |
| | |
| Erfahrener Benutzer Registriert seit: 19.06.2009
Beiträge: 837
PHP-Kenntnisse: Fortgeschritten ![]() ![]() ![]() ![]() ![]() | Crossposting: http://phpforum.de/forum/showthread.php?t=258736 Bitte beachten: Anmerkung zu Multipostings Gruß Jens |
| |
|
| Themen-Optionen | |
| Thema bewerten | |
|
|
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| [Erledigt] Regulärer Ausdruck schlägt fehl | HSFighter | PHP Tipps 2010 | 2 | 20.08.2010 21:16 |
| [Erledigt] in_array schlägt fehl obwohl werte um array vorhanden sind | litterauspirna | PHP Tipps 2010 | 8 | 13.03.2010 14:57 |
| [Erledigt] Eintrag schlägt fehl | Extremefall | PHP Tipps 2009 | 17 | 19.12.2009 17:42 |
| MySQL Verbindung schlägt fehl, trotz richtigem USER/PW | CyberNibbler | Datenbanken | 5 | 24.09.2009 19:43 |
| ReflectionClass export schlägt fehl bei Zugriff auf Klassenkonstante | tereano | PHP-Fortgeschrittene | 4 | 30.03.2009 13:16 |
| PHP5 SOAP - Problem mit Arrays | Calexico | PHP-Fortgeschrittene | 0 | 11.09.2008 12:06 |
| .htaccess login schlägt fehl | sternschnuppe99 | Server, Hosting und Workstations | 6 | 07.02.2008 13:37 |
| login schlägt immer fehl | sternschnuppe99 | Server, Hosting und Workstations | 3 | 07.02.2008 13:28 |
| [Erledigt] Konvertierung OEM ASCII zu Windows ANSI Zeichen | PHP-Fortgeschrittene | 5 | 12.08.2005 12:42 | |