problem z kodowanie wysyłanych maili ze strony

0

Witam serdecznie, mam problem z polskimi znakami.

niestety mimo iż pliki są ustawione na utf-8 to za nic nie chce działać...

mam dwa pliki, które odpowiadają za wysyłanie maili

<form action="contact.php" method="post" id="contactform">
            <ol>
              <li>
                <label for="name">Imię <span class="red">*</span></label>
                <input id="name" name="name" class="text" />
              </li>
              <li>
                <label for="email">Adres e-mail<span class="red">*</span></label>
                <input id="email" name="email" class="text" />
              </li>
              <li>
                <label for="company">Firma</label>
                <input id="company" name="company" class="text" />
              </li>
              <li>
                <label for="subject">Temat</label>
                <input id="subject" name="subject" class="text" />
              </li>
              <li>
                <label for="message">Wiadomość <span class="red">*</span></label>
                <textarea id="message" name="message" rows="6" cols="50"></textarea>
              </li>
              <li class="buttons">
                <input type="image" name="imageField" id="imageField" src="images/send.gif" class="send" />
                <div class="clr"></div>
              </li>
            </ol>
          </form> 
 

<?php

if(!$_POST) exit;

$email = $_POST['email'];


//$error[] = preg_match('/\b[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b/i', $_POST['email']) ? '' : 'INVALID EMAIL ADDRESS';
if(!eregi("^[a-z0-9]+([_\\.-][a-z0-9]+)*" ."@"."([a-z0-9]+([\.-][a-z0-9]+)*)+"."\\.[a-z]{2,}"."$",$email )){
	$error.="Podano niepoprawny adres e-mail";
	$errors=1;
}
if($errors==1) echo $error;
else{
	$values = array ('name','email','message');
	$required = array('name','email','message');
	 
	$your_email = "[email protected]";
	$email_subject = "Wiadomość z cupIT.pl: ".$_POST['subject'];
	$email_content = "Wiadomość:\n";
	
	foreach($values as $key => $value){
	  if(in_array($value,$required)){
		if ($key != 'subject' && $key != 'company') {
		  if( empty($_POST[$value]) ) { echo 'Proszę poprawić wymagane dane'; exit; }
		}
		$email_content .= $value.': '.$_POST[$value]."\n";
	  }
	}
	 
	if(@mail($your_email,$email_subject,$email_content)) {
		echo 'Wysłano wiadomość - dziekujemy!'; 
	} else {
		echo 'ERROR!';
	}
}
?>

brak polskich znaków występuje w treści maila - w temacie jest ok, co moglibyście poradzić ?

0

W mail w 4 argumencie daj:

Content-Type: text/plain; charset=utf-8

Zamieniając utf-8 na kodowanie które stosujesz.

0

no właśnie stosuje utf-8. Tylko gdzie jest 4 argument ;] ?

0

ale w którym miejscu w moim kodzie powinno się to wstawić... ?

0

Ręce opadają.

@mail($your_email,$email_subject,$email_content, 'Content-Type: text/plain; charset=utf-8')

Czwarty argument.

1 użytkowników online, w tym zalogowanych: 0, gości: 1