0

I have a promlem with my php mailer text encoding with Greek letters.

When someone send an email to me in Greek language i receive it like this...

From: Φιακάς Αναστάσιος E-Mail: Message: Ïαντεβου

Please someone help!

My php is:

$to = 'info@someone.gr';  // please change this email id


$errors = array();
// print_r($_POST);

// Check if name has been entered
if (!isset($_POST['name'])) {
    $errors['name'] = 'Please enter your name';
}

// Check if email has been entered and is valid
if (!isset($_POST['email']) || !filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) {
    $errors['email'] = 'Please enter a valid email address';
}

//Check if message has been entered
if (!isset($_POST['message'])) {
    $errors['message'] = 'Please enter your message';
}

$errorOutput = '';

if(!empty($errors)){

    $errorOutput .= '<div class="alert alert-danger alert-dismissible" role="alert">';
    $errorOutput .= '<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>';

    $errorOutput  .= '<ul>';

    foreach ($errors as $key => $value) {
        $errorOutput .= '<li>'.$value.'</li>';
    }

    $errorOutput .= '</ul>';
    $errorOutput .= '</div>';

    echo $errorOutput;
    die();
}



$name = $_POST['name'];
$email = $_POST['email'];
    $message = $_POST['message'];
$from = $email;
$subject = 'Contact Form : someone.gr';






$body = "From: $name\n E-Mail: $email\n Message:\n $message";


//send the email
$result = '';
if (mail ($to, $subject, $body)) {
    $result .= '<div class="alert alert-success alert-dismissible" role="alert">';
    $result .= '<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>';
    $result .= 'Thank You! I will be in touch';
    $result .= '</div>';

    echo $result;
    die();
}

$result = '';
$result .= '<div class="alert alert-danger alert-dismissible" role="alert">';
$result .= '<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>';
$result .= 'Something bad happend during sending this message. Please try again later';
$result .= '</div>';

echo $result;
die();
Jehy
  • 4,729
  • 1
  • 38
  • 55
f_tasos
  • 11
  • 2

1 Answers1

0

I think this code is incomplete.. Did you set the right charset in your header?

$headers = "Content-Type: text/html; charset=UTF-8";

Billk
  • 13
  • 3
  • Thank you very much for your answer... no i have not set it. Do you see my code below? where should i put this line? – f_tasos Nov 03 '16 at 09:44
  • @f_tasos You can add it before calling mail function and pass it. `mail($to, $subject, $body, $headers)` – SomethingElse Nov 14 '16 at 09:58