Ik probeer de inhoud van een formulier waarvan de tekstvelden speciale karakters bevatten, te versturen via mail(). Om de tekens correct weer te geven, gebruik ik htmlentities(). Als ik het test met print in plaats van mail(), lukt het en worden de tekens correct weergegeven. Gebruik ik echter mail(), dan zijn de tekens in de mail niet correct weergegeven. Het woord België wordt dan bijvoorbeeld BelgiÃ<< of iets dergelijks. De charset staat ingesteld op utf-8.
Bedankt voor de reactie. Het zou wel eens kunnen dat htmlentities() niet werkt. Ik heb het eens weggelaten en wat blijkt? De speciale tekens worden correct weergegeven. Hieronder staat de code voor de html-pagina:
Ik zou die foutmelding aanpassen: de HTTP_REFERER is zonder problemen aan te passen, dus als jij verraadt dat je daarop controleert, maak je het de misbruiker alleen maar gemakkelijker.
Daarnaast:
kijk eens naar iets als PHPMailer. Dat maakt je script een stuk duidelijker en veiliger dan zelf met mailheaders lopen knoeien.
Je TO en FROM velden en Subject zeker niet ongecontroleerd met user-invoer vullen. (dat doe je niet, maar het is wel eens verleidelijk kennelijk om dat wel te doen.