2
I have an email form in PHP that does not send correctly accented words, appear several questions in words with accent, cedilla etc. I tried several things but none worked.
Below is the script I’m using. It’s running on a Wordpress page template.
<?php
//If the form is submitted
if(isset($_POST['submitted'])) {
//Check to see if the honeypot captcha field was filled in
if(trim($_POST['checking']) !== '') {
    $captchaError = true;
} else {
    //Check to make sure that the name field is not empty
    if(trim($_POST['contactName']) === '') {
        $nameError = 'Informe seu nome.';
        $hasError = true;
    } else {
        $name = trim($_POST['contactName']);
    }
    //Check to make sure sure that a valid email address is submitted
    if(trim($_POST['emaill']) === '')  {
        $emailError = 'Informe se endereço de e-mail.';
        $hasError = true;
    } else if (!eregi("^[A-Z0-9._%-]+@[A-Z0-9._%-]+\.[A-Z]{2,4}$", trim($_POST['emaill']))) {
        $emailError = 'Informe um endereço de e-mail válido.';
        $hasError = true;
    } else {
        $emaill = trim($_POST['emaill']);
    }
    //Check to make sure comments were entered
    if(trim($_POST['comments']) === '') {
        $commentError = 'Escreva sua mensagem.';
        $hasError = true;
    } else {
        if(function_exists('stripslashes')) {
            $comments = stripslashes(trim($_POST['comments']));
        } else {
            $comments = trim($_POST['comments']);
        }
    }
    //If there is no error, send the email
    if(!isset($hasError)) {
        $emailTo = '[email protected]';
        $subject = '[Contato] '.$name;
        $sendCopy = trim($_POST['sendCopy']);
        $body = "Name: $name \n\nEmail: $emaill \n\nComments: $comments";
        $headers = 'From: My Site <'.$emailTo.'>' . "\r\n" . 'Reply-To: ' . $emaill; 
        mail($emailTo, $subject, $body, $headers);
        if($sendCopy == true) {
            $subject = 'You emailed Your Name';
            $headers = 'From: Tanmay <[email protected]>';
            mail($emaill, $subject, $body, $headers);
        }
        $emailSent = true;
    }
}
} ?>