Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]problem z polskimi znakami w mailu
Forum PHP.pl > Forum > Przedszkole
BugsBunny
Witam,

naszukałem się trochę po forum wprowadziłem trochę zmian i nadal w mailu mam krzaki zamiast polskich znaków.

  1. <?php
  2. if($_POST['sendMail'])
  3. {
  4.    try
  5.      {
  6.            $Name = Validator::length(30,$_POST['name'],'podpis');
  7.            $subject = "[homepage] ".Validator::length(40,$_POST['topic'],'temat');
  8.          $email = Validator::email($_POST['email']);
  9.          $recipient = "MOJADRES@gmail.com";
  10.          $mail_body = Validator::length(500,$_POST['content'],'treść');
  11.  
  12.      }
  13.    catch(Exception $e)
  14.    {
  15.         $tpl->assign('SendError',$e->GetMessage());
  16.        $Mailerror = true;
  17.        $tpl->assign('oldTopic',$_POST['topic']);
  18.        $tpl->assign('oldEmail',$_POST['email']);
  19.        $tpl->assign('oldContent',$_POST['content']);
  20.        $tpl->assign('oldName',$_POST['name']);
  21.     }
  22.  
  23.      //  to miało pomoc ale nie pomaga
  24.  //    $mail_body = sprintf( "=?utf-8?B?%s?=", base64_encode($mail_body) );
  25. //    $Name = sprintf( "=?utf-8?B?%s?=", base64_encode($Name) );
  26.  
  27.    $header = "MIME-Versio: 1.0r\n"."Content-type: text/html; charset=UTF-8r\n";
  28.    $header .= "From: ". $Name . " <" . $email . ">r\n";
  29.  
  30.    
  31.     if(!$Mailerror)
  32.    {
  33.        $tpl->assign('send',true);
  34.        if(@mail($recipient, $subject, nl2br($mail_body), $header))
  35.        {
  36.             $tpl->assign('result',true);
  37.         }
  38.          else
  39.          {
  40.              $tpl->assign('result',false);
  41.         }
  42.    }
  43.  
  44.  
  45. }
  46. ?>
piotrekk
a masz ustawione utf-8 w miejscu gdzie masz formularz do wpisywania tekstu do maila ? Tam tez musi być
BugsBunny
Fakt zapomniałem o tym
  1. <form action="index.php?{$FormPage}" method="post" name="data" accept-charset="utf-8">


jednak po dodaniu nic nie zmiania. Po odekmentowaniu Tych dwóch linijek w kodzie nadal wyświetla głupoty


a charset nie powiniem być coś z latin-2 albo z iso-8859-2.questionmark.gif

Działa. WIelkie dzięki. Zapomniałem porpostu wrzucić pliku na serwer sciana.gif
piotrekk
a w tym miejscu masz zmienione ?:

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  4. <title>Untitled Document</title>
  5. </head>
  6.  
  7. </body>
  8. </html>


Kiedys tak mialem i jak tu zmienilem to wszystko działalo
gabiww
Witam
Próbuję różnych metod i kombinacji z forum ale niestety nie mogę sobie poradzić. Jak dostaję email na skrzynkę wysłany sendmailem zamiast polskich znaków same krzaki. Gdzie i co ma wstawić aby tego uniknąć. Pomocy
gabiww
Cytat(gabiww @ 16.10.2008, 07:29:54 ) *
Witam
Próbuję różnych metod i kombinacji z forum ale niestety nie mogę sobie poradzić. Jak dostaję email na skrzynkę wysłany sendmailem zamiast polskich znaków same krzaki. Gdzie i co ma wstawić aby tego uniknąć. Pomocy

Mój kod sendmaila


CODE
<?
$wiadomosc = "Wybrana_przygoda:$wybrana_przygoda \nImie_bohatera:$imie_bohatera \nBohater_plec:$bohater_plec \nimie_towarzysza:$imie_towarzysza
\ntowarzysz_plec:$towarzysz_plec \nmiejsce_przygody:$miejsce_przygody \ndedykacja_przygody:$dedykacja_przygody \nze_zdjeciem:$ze_zdjeciem
\nnazwisko_zamawiajacego:$nazwisko_zamawiajacego \nulica_zamawiajacego:$ulica_zamawiajacego \nkod_zamawiajacego:$kod_zamawiajacego
\nmiejscowosc_zamawiajacego:$miejscowosc_zamawiajacego \nemail_zamawiajacego:$email_zamawiajacego \ntelefon_zamawiajacego:$telefon_zamawiajacego
\nodbior_zamowienia:$odbior_zamowienia \nuwagi_zamawiajacego:$uwagi_zamawiajacego";
$header = "From: $imiernReply- zamowienie: $emailrn";
mail ("biuro@adres.pl", "Zamowienie", $wiadomosc, $header);
?>

<html>
<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-2">

<TITLE>tytuł</TITLE>

<LINK REL="stylesheet" HREF="style.css" TYPE="text/css">
</head>

<body topmargin="5" leftmargin="0" marginheight="0" marginwidth="0" bottommargin="0" rightmargin="15">
<br><br>
<center>
<form onSubmit="return validateForm()" name="email" action="sendmail.php" method="post">
<table width=620 cellpadding="2" cellspacing="2">

<tr><td align="center"><hr size=1 color=blue><b>Mail został wysłany.<br> dziękujemy</b><hr size=1 color=blue></td></tr>

</table>
</form>
</center>
</body>
</html>
MajareQ
Masz nie ustawione wszystkie nagłówki.
gabiww
A możesz dokładniej bo php to dla mnie prawie czarna magia
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.