[PHP] "Vreemde tekens" in subject van mailtje

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik ben bezig met het schrijven van een PHP scriptje waarmee ik mijn mail kan ophalen. En zo ben ik aan het testen of mijn script correct allerlei soorten mailtjes (van Outlook Express, Mozilla Thunderbird, en tevens diverse webmail applicaties) ook foutloos kan ontvangen en weergeven. Nu kom ik echter het volgende subject tegen in de headers van een mailtje dat ik via Twigger (= bekende webmail service) heb verstuurd:

"Mailtje m=?ISO-8859-1?Q?=E9t?= attachment van Twigger"

Dit moet echter het volgende zijn:

"Mailtje mét attachment van Twigger"

Nu heb ik al diverse decode-functies van PHP er op los gelaten (zoals base64, 8bit, printed_quotable, enz.) maar niks komt uit op het originele formaat.

Hoe kan ik dit wél oplossen?

Bvd.

[ Voor 7% gewijzigd door Verwijderd op 31-12-2003 12:55 ]


Acties:
  • 0 Henk 'm!

  • Alex
  • Registratie: Juli 2001
  • Laatst online: 20-08 21:38
Kijk hier eens naar.

Deze post is bestemd voor hen die een tegenwoordige tijd kunnen onderscheiden van een toekomstige halfvoorwaardelijke bepaalde subinverte plagiale aanvoegend intentioneel verleden tijd.
- Giphart


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Oke, maar hoe nu verder? Hoe zet ik het om? Is er hier geen bepaalde functie in PHP voor?

Acties:
  • 0 Henk 'm!

Verwijderd

deze functie misschien?

http://www.php.net/manual/de/function.utf8-encode.php
utf8_encode -- encodes an ISO-8859-1 string to UTF-8

[ Voor 32% gewijzigd door Verwijderd op 31-12-2003 17:48 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ook die werkt niet (evenals utf8_decode). Ik snap er echt niks van :?

edit:
Update: Ik heb eindelijk de oplossing gevoncen voor dit probleem. Ik zag in één van de comments op php.net plots "imap_mime_header_decode" staan. Deze functie weet de ISO-8859-1 encoded string te decoderen naar een US-ASCII string. Enig nadeel is dat de functie er een array van maakt, waardoor je zelf er dus een bruikbare string van moet maken. Maar dat is opzich geen probleem :)

[ Voor 44% gewijzigd door Verwijderd op 01-01-2004 14:24 ]


Acties:
  • 0 Henk 'm!

  • creative8500
  • Registratie: September 2001
  • Laatst online: 01-02 14:14

creative8500

freedom.

Ik had dit ook met een e-mailaccount, die opnieuw aangemaakt en opgelost. Maar ik vraag me af hoe je zoiets kunt oplossen. :{

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
creative8500 schreef op 01 januari 2004 @ 14:14:
Ik had dit ook met een e-mailaccount, die opnieuw aangemaakt en opgelost. Maar ik vraag me af hoe je zoiets kunt oplossen. :{
Zie mijn (late) edit :)

Ik heb er tevens ook even een functie voor geschreven, dat van output van de functie imap_mime_header_decode een string maakt:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
function decodeSubject($subject)
{
    $array = imap_mime_header_decode($subject);
    $string = '';

    for($x = 0; $x < count($array); $x++)
    {
        $string.= $array[$x]->text;
    }

    return $string;
}

[ Voor 42% gewijzigd door Verwijderd op 01-01-2004 14:31 ]


Acties:
  • 0 Henk 'm!

  • frickY
  • Registratie: Juli 2001
  • Laatst online: 18-09 14:42
Verwijderd schreef op 01 januari 2004 @ 14:10:
[...]


Ook die werkt niet (evenals utf8_decode). Ik snap er echt niks van :?

edit:
Update: Ik heb eindelijk de oplossing gevoncen voor dit probleem. Ik zag in één van de comments op php.net plots "imap_mime_header_decode" staan. Deze functie weet de ISO-8859-1 encoded string te decoderen naar een US-ASCII string. Enig nadeel is dat de functie er een array van maakt, waardoor je zelf er dus een bruikbare string van moet maken. Maar dat is opzich geen probleem :)
Wat probeer je die functies in te persen?
"=?ISO-8859-1?Q?=E9t?=" of "E9t"
Het lijkt mij nl. dat je die 2de moet hebben...
Probeer het ook eens met een "á" in het subject ipv een "é". Geeft hij dan "A9t" of iets totaal anders?

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
frickY schreef op 01 januari 2004 @ 19:46:
[...]


Wat probeer je die functies in te persen?
"=?ISO-8859-1?Q?=E9t?=" of "E9t"
Het lijkt mij nl. dat je die 2de moet hebben...
Probeer het ook eens met een "á" in het subject ipv een "é". Geeft hij dan "A9t" of iets totaal anders?
Je quote mijn edit, maar je leest 'em niet :?

Acties:
  • 0 Henk 'm!

  • Mayco
  • Registratie: Augustus 2002
  • Laatst online: 13-08 08:00
E9 is de hexadecimale waarde voor é, voor á is het E1

Acties:
  • 0 Henk 'm!

  • frickY
  • Registratie: Juli 2001
  • Laatst online: 18-09 14:42
Verwijderd schreef op 01 januari 2004 @ 22:09:
[...]


Je quote mijn edit, maar je leest 'em niet :?
Jawel. maar in mijn ogen leek je niet helemaal gelukkig met de manier waarop het nu werkt.
Pagina: 1