e umlaut niet goed weergegeven in html mail

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Jack Maessen

Jack Maessen

31/10/2013 12:21:52
Quote Anchor link
Hallo,

Ik krijg de e umlaut niet goed weergegeven in de html mail.

dit is het stuk code waar het land gecontroleerd wordt:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
// selectbox land
if($_POST['land'] == 'nederland') {
$land = 'Nederland';
}
else {
$land = 'Belgi';
}

Ik gebruik voor de mail deze headers:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
$headers  = 'MIME-Version: 1.0';
$headers .= 'Content-type: text/html; charset=iso-8859-1'."\r\n";
$headers .= 'From: '.$email;

Dit is de mail command:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$formsent = mail($ontvanger, $onderwerp, $body, $headers);


Resultaat:
Gmail geeft me op Belgie slechts 1 punt (ipv 2 zoals umlaut hoort te zijn)
Online webmail geeft me een vraagteken in een zwart blokje op de plaats van e umlaut
Ziggo webmail doet het wel correct en geeft een nette e umlaut

Toch de foute headers of waar ligt dit aan?
Gewijzigd op 31/10/2013 12:31:49 door Jack Maessen
 
PHP hulp

PHP hulp

22/11/2024 10:31:30
 
Michael -

Michael -

31/10/2013 13:07:31
Quote Anchor link
Wat als je iso-8859-1 verandert in UTF-8 ?
Je kunt ook de ë vervangen door ë
Sowieso zou ik een framework gebruiken voor je mail, bijv PHPMailer.
 
Jack Maessen

Jack Maessen

31/10/2013 13:26:43
Quote Anchor link
Had ik ook al geprobeerd Michael, maar utf-8 lever exact het zelfde resultaat op.
En ë geeft ie in de mail letterlijk weer: Land: Belgieë
Ook onderstaand geprobeerd maar zonder resultaat:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$land = mb_convert_encoding('Belgi','iso-8859-1');
Gewijzigd op 31/10/2013 13:27:37 door Jack Maessen
 
Erwin H

Erwin H

31/10/2013 13:31:35
Quote Anchor link
Wat is de charset van je php document? Want zo te zien heb je het daar hardcoded instaan.
 
Jack Maessen

Jack Maessen

31/10/2013 14:35:34
Quote Anchor link
ik heb het php document opgeslagen met UTF-8 karakters (html-kit gebruik ik) en dan creeert ie me voor België dit: Belgi�
Maar dat levert geen resultaat op; geen enkele client geeft nu nog ë correct weer
 
Michael -

Michael -

31/10/2013 15:29:58
Quote Anchor link
Het volgende script gaat goed bij mij op mobiel en desktop/Outlook

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<!DOCTYPE HTML>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css"></style>
</head>
<body>
<?php
$message
= "As net Feld Scholl Plett'len. Ké Heck Eisen aremt dén, et get durch beschéngt Fletschen. Ons mä hier Hären, as Kaffi d'Lëtzebuerger sin, zielen frësch d'Liewen déi jo. Wéi mä voll ménger, d'Pied Hämmel Milliounen dan ke.

Fu déi Hierz d'Land Freiesch. Zënter laacht rou et, vu bei gewëss Dohannen. Dé blo Gaart kréien, as net Monn Bass schléit. Grouss gefällt wa get. Och Räis ruffen derbei no. Ech an onser d'Wéën schnéiwäiss, aus Stieren Milliounen un.

Den wuel klinzecht do, et sou rout Fletschen, en gét wait engem Grénge. Zum vu Wand ma'n koum, kommen d'Hierz Milliounen déi un. Et ons d'Natur schnéiwäiss, nei Stret bléit verstoppen et, hu sin wäit fond. Verstoppen d'Margréitchen hin dé, dat geet muerges fu, dir jo lait zwëschen. Ons Duerf weisen mä, bessert schéinen nët wa, Mier Feld rëm hu.

Do nun Noper gefällt Faarwen, méi Ronn kille Kirmesdag en, iech bléit um net. Um wäit Engel d'Kàchen der, Hären brommt um dir. D'Pan Himmel méi un, Scholl rëschten aus wa. Ons wäit fond un.

Déi räich prächteg da, d'Hierz Poufank Kolrettchen da blo. Rem wait Engel wellen as, op dan alle Stieren. Net hale drun alle um, Feld Eisen de ass, get Dach d'Wéën Völkerbond et. Do d'Pan bessert d'Meereische zwé, mir duerch uechter ke. Zum am Dach spilt welle, geet brét Schiet op déi, an brommt soubal d'Vullen wee.

Déi Stad ugedon d'Stroos un, Well zwëschen ke hir. Et rëm Dall jeitzt, botze blénken fu get. Bleiwe d'Liewen si rem, dir en d'Wise Fielse, am dén botze méngem Schuebersonndeg. Keng Hämmelsbrot d'Meereische den ke. Si Lann Gaart frësch wär, get Feld löschteg fu.

De laacht d'Gaassen nët, botze d'Wise dan an. Rëschten Nuechtegall am dan, am sinn ruffen d'Meereische dat, de wär wäit aremt d'Mier. Biereg bereet vu hie, de Hémecht d'Blumme dem. Aus hier Gaas séngt wa.

Frou séngt Freiesch et ech, net alles Hämmel et, da och Räis riede. Get vill d'Vioule as, all si rout gebotzt, Haus gudden sou mä. Fu Frot Blénkeg schnéiwäiss ass, wou ke drun gefällt schnéiwäiss. Voll räich gei do, de Haus drun kille rëm. Oft de sinn Hémecht.

Ech as Ronn spilt d'Loft, mat Halm Dach d'Natur ze. Ke ech Hémecht Blénkeg, dan Eisen Hämmelsbrot d'Lëtzebuerger un. Gutt muerges d'Blumme dé rou, wielen wellen erwaacht de dat. Gei um goung gebotzt. Op déi Hémecht Blénkeg beschéngt, am déi Kënnt d'Stroos schéinste.

Räich blëtzen op rem, d'Wéën d'Pied Riesen net fu, sin alle bleiwe gesiess an. Dén vu séngt Kléder. No derbei beschéngt Hämmelsbrot eng, hun ké Stréi iwerall, Dach eraus d'Wéën nei et. Fläiß dämpen ass vu, nun d'Hierz bessert fu. Ierd Duerf lossen ons um, Halm durch Kaffi op aus."
;

$headers  = 'MIME-Version: 1.0' . "\r\n" .
    'Content-type: text/html; charset=UTF-8' . "\r\n" .
    'From: ***' . "\r\n" .
    'Reply-To: ***' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();

if(mail('***', 'Character Test', nl2br($message), $headers))
{

    echo 'Verstuurd (' . date('H:i:s') . ')';
}

else
{
    echo 'Fout';
}

?>

</body>
</html>
 
Jack Maessen

Jack Maessen

31/10/2013 20:53:54
Quote Anchor link
Michael,ik heb even getest op alle 3 de clients en alleen gmail geeft hem correct weer
Ziehier 3 snapshots, Gmail, Ziggo webmail en Online webmail

http://www.jackmaessen.nl/test/images/snap_gmail.jpg

http://www.jackmaessen.nl/test/images/snap_ziggo.jpg

http://www.jackmaessen.nl/test/images/snap_online.jpg
 
Michael -

Michael -

01/11/2013 08:44:55
Quote Anchor link
Ik kan er niet anders van maken dat hij bij mij goed gaat op mobiel, desktop, gmail, ipad, etc.

Conclusie is dus dat hij bij Online en Ziggo fout gaat, maar dit kan ik niet testen.

Test script hier

Sowieso kom ik erop terug dat je beter een framework kan gebruiker als PHPMailer.

Edit:

Ook in Hotmail gaat het goed.


Toevoeging op 01/11/2013 10:24:45:

Ik heb nog wel iets gevonden op php.net
Quote:
If you want to send UTF-8 HTML letter you need to mention charset twice:

1) In message header:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$headers
.= 'Content-type: text/html; charset=utf-8' . "\r\n";
?>


2) In HTML header:
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
$message
= '
<html>
<head>
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
   <title>Fillon soutient à fond le retour d\'un Grand Prix de France</title>
</head>
<body>
   <p>Le Premier ministre François Fillon, passionné d\'automobile et pilote à ses heures, a apporté un soutien appuyé au retour d\'un Grand Prix de France au calendrier 2013 de la Formule 1, en faisant un passage-éclair vendredi sur le circuit Paul Ricard dans le Var.</p>
</body>
</html>
'
;
?>


In this case Outlook will also "understand" that message is encoded using UTF-8.


Misschien kun je dit nog proberen.
Ik heb mijn test script hierop aangepast. Dan zou je het daar kunnen proberen.
Gewijzigd op 01/11/2013 10:29:21 door Michael -
 
Jack Maessen

Jack Maessen

01/11/2013 11:34:10
Quote Anchor link
Michael, dit brengt licht in de zaak!
Op dit domein: http://phphulp.turmin.com/mailspecialchars.php verzend ie de emails perfect; alle clients geven hem exact goed weer.
Echter kopieer ik de code en zet hem op mijn webserver, (WAMP draaiende op Windows 7), gaat het fout!
Maw: de code is correct; maar bij de afhandeling van de PHP parser gaat er iets fout, OF bij de mailserver, en ja: als dat zo is pleit het er voor dat ik idd veel beter PHP of Swiftmailer kan gebruiken.
Ik zal eens eerst in mijn php.ini gaan snuffelen of ik daar de instellingen goed heb staan.
Ik laat het wel weten...
 
Michael -

Michael -

01/11/2013 11:41:54
Quote Anchor link
Dat is inderdaad vreemd, maar brengt in ieder geval wel duidelijkheid dat de code op zich goed is.
Wel ben ik dan benieuwd wat het verschil kan zijn die dit veroorzaakt.
Als je meer weet hoor ik het graag.

Edit:

Enige wat ik kan bedenken is dat je het bestand zelf niet opslaat als UTF-8.
Je zegt dat je HTML-kit gebruikt, maar kopieer die code van de website eens naar Notepad/Kladblok en kies dan bij Save As/Opslaan Als bij Encoding UTF-8.
Ik gebruik hiervoor Notepad++ en die heeft eigen encoding die op 'Encode in UTF-8 without BOM' staat.

Laat maar, ik zie dat HTML-kit het zelfde werkt als Notepad en je bij Save As je Encoding kan kiezen. Deze moet dus UTF-8 zijn.
De tekens zijn wel goed in je Editor?
Gewijzigd op 01/11/2013 12:23:04 door Michael -
 
Jack Maessen

Jack Maessen

01/11/2013 13:28:59
Quote Anchor link
Michael, dat is dus het probleem! Ik heb code gekopieerd en in notepad geplakt en opgeslagen als utf-8 encoding.
Op de webserver gezet, mail naar online en perfecte output.
Dus ik maak zelf de fout bij HTML-kit dat ik hem niet als utf-8encoding opsla!
Ik ga ff kijken naar die HTML kit hoe ik dat default moet instellen...
EDIT:
Probleem is dat HTML 292 geen standaard unicode support. Deze tool zit wel in de "tools" die je kunt downloaden maar hier is een prijs aan verbonden. ($59,-)
Ik denk dat ik nu over ga stappen op een andere editor, vanwege het gemak dat ik deze utf-8 encoding default kan instellen.
Iemand suggesties voor een free editor met vooral wat ik makkelijk vind, autosuggestion met php code?
Gewijzigd op 01/11/2013 13:44:16 door Jack Maessen
 
Michael -

Michael -

01/11/2013 14:45:02
Quote Anchor link
Ah super! :-)
Ik raad sowieso Notepad++ aan. Gratis, eenvoudig, doet wat het moet doen.
Autosuggestion zit er wel in, maar vraag me niet waar en hoe. Dit gebruik ik zelf nooit.
http://notepad-plus-plus.org/
 



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.