van iso-8859-1 naar UTF-8 wilt niet werken

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Rene Beckers

Rene Beckers

06/10/2014 22:46:09
Quote Anchor link
Hallo

Mijn eerste bericht op dit forum..

Ik beheer voor een Franse club een website en heb onlangs de php versie 5.2 geupdate naar versie 5.6.
Via de website wordt een email verstuurd.

$headers = array();
$headers [] = 'MIME-Version: 1.0';
$headers [] = "Content-type: text/plain; charset= ISO-8859-1";
$headers [] = "From: ".$var_name." ".$var_firstname." <".$var_email."> \r\n";

Sinds de update werkt deze charset niet meer. Ik zal moeten wijzigen naar charset=UTF-8 ( Franse karakters )
Gmail gaat goed maar op eigen outlook client krijg ik de foutmelding dat de 'FROM' verkeerde karakters heeft.
De namen komen uit een database met de charset ingesteld op utf8-unicode_ci.

Ik ben al enige tijd aan het zoeken op het net maar kan geen oplossing vinden. Heb ook al geprobeerd met htmlentities and htmlspecialchars.
Het onderwerp van de email komt uit een html formulier en geeft dezelfde foutmelding.
Daarnaast wordt de berichtekst keurig weergegeven.

Ik vermoed een header probleem...

Kan iemand mij helpen ?

René
 
PHP hulp

PHP hulp

22/05/2024 06:58:34
 
Ivo P

Ivo P

06/10/2014 23:02:47
Quote Anchor link
overweeg het gebruik van PHPMailer of Swiftmailer. Dat soort classes heeft dit soort problemen al uitgebreid bekeken en opgelost. Dan hoef je niet zelf alle wielen opnieuw uit te vinden.
 
Rene Beckers

Rene Beckers

08/10/2014 21:14:17
Quote Anchor link
Ivo
Dank je wel..Ik ga dat eens uitzoeken
 
Rene Beckers

Rene Beckers

10/10/2014 00:55:08
Quote Anchor link
Bedankt Ivo.
PhPMailer werkt voor wat betreft de speciale karakters prima.
Echter nu heb ik het probleem van de returns/linebreaks omdat PhPMailer de mails in html verstuurd en niet in plain text.
Zal anders een nieuw topic aanmaken.
 
- SanThe -

- SanThe -

10/10/2014 00:58:13
Quote Anchor link
Zie nl2br()
 
Ivo P

Ivo P

10/10/2014 07:46:12
Quote Anchor link
Of gebruik ->isHtml() niet

Laat anders even zien hoe je phpmailer regels eruit zien
 
Frank Nietbelangrijk

Frank Nietbelangrijk

10/10/2014 08:35:04
Quote Anchor link
In de FROM hoort alleen plaintext lijkt me want dit zijn emailadressen. wat gebeurt er als je eerst de email addressen valideert?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
if(!filter_var($email, FILTER_VALIDATE_EMAIL)) {
    echo "Dit is geen geldig emailaddress.";
}

?>


Toevoeging op 10/10/2014 08:40:07:

om accents te verwijderen zou je zoiets kunnen gebruiken:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
function replace_accents($string)
{

  return str_replace( array('à','á','â','ã','ä', 'ç', 'è','é','ê','ë', 'ì','í','î','ï', 'ñ', 'ò','ó','ô','õ','ö', 'ù','ú','û','ü', 'ý','ÿ', 'À','Á','Â','Ã','Ä', 'Ç', 'È','É','Ê','Ë', 'Ì','Í','Î','Ï', 'Ñ', 'Ò','Ó','Ô','Õ','Ö', 'Ù','Ú','Û','Ü', 'Ý'), array('a','a','a','a','a', 'c', 'e','e','e','e', 'i','i','i','i', 'n', 'o','o','o','o','o', 'u','u','u','u', 'y','y', 'A','A','A','A','A', 'C', 'E','E','E','E', 'I','I','I','I', 'N', 'O','O','O','O','O', 'U','U','U','U', 'Y'), $string);
}

?>
 
Rene Beckers

Rene Beckers

14/10/2014 21:02:56
Quote Anchor link
Bedankt voor jullie racties.
Zoals gezegd werken de speciale karakters prima met PHPMailer
Echter nu loop ik tegen het probleem aan dat de tekst in HTML worden verzonden en de ' returns' niet meeneemt
Heb inmiddels gevonden dat dit met PHPMAiler 'AltBody' is op te lossen.
Dit wil niet direct werken. Ben dit nog aan het uitzoeken/uitwerken.
Ik blijf steeds hangen op $mail->MsgHTML($message)..
 
Ivo P

Ivo P

15/10/2014 01:08:18
Quote Anchor link
@frank
In het from-veld kan ook een naam staan: from: frank <[email protected]>

Daarnaast kan zowel in de naam als in het mailadres een letter met 'accent' staan:

From: théo <theo@köln.de>

--
@rene
Ik denk dat je een te uitgebreid voorbeeld van phpmailer gebruikt

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php

$m
= new phpmailer()

$m->AddAdress('[email protected]');
$m->Subject = 'foobar';
$m->Body = 'gewoon plain text
Met enters

Bye'
;
$m->Send();

?>


Toevoeging op 15/10/2014 01:08:19:

@frank
In het from-veld kan ook een naam staan: from: frank <[email protected]>

Daarnaast kan zowel in de naam als in het mailadres een letter met 'accent' staan:

From: théo <theo@köln.de>

--
@rene
Ik denk dat je een te uitgebreid voorbeeld van phpmailer gebruikt

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php

$m
= new phpmailer()

$m->AddAdress('[email protected]');
$m->Subject = 'foobar';
$m->Body = 'gewoon plain text
Met enters

Bye'
;
$m->Send();

?>
 
Rene Beckers

Rene Beckers

03/11/2014 22:30:42
Quote Anchor link
Hallo

Ivm vakantie een wat late reactie.
Uiteindelijk heb ik de mail aangepast naar een simpele versie (bedankt Frank, Ivo) en het werkt naar behoren.
All verwijzingen naar HTML weggelaten. (IsHtml)
Mail->SetFrom()
Mail->To()
Mail->Subject=''
Mail->Body =''
Mail->Send()

Werkt perfect..Merci

Merci
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.