Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php]polskie znaki
Forum PHP.pl > Forum > Przedszkole
kogutor
Witam.Gdzie mam dodać do kodu to
  1. <?php
  2. $mail->CharSet = "iso-8859-2";
  3. $Header = "Content-type: text/html; charset=utf-8r\n"; 
  4. $Header .= "Content-Transfer-Encoding: 8bitr\n";
  5. ?>

aby mój formularz flash wysyłał wiadomości z polskimi znakami.
Kiedy wygląda to tak
  1. <?php 
  2.  
  3. $ToEmail = "nazwa@nazwa.pl"; 
  4. $ToSubject = "Mail ze strony www.nazwa.pl"; 
  5. $EmailBody = "Nazwisko: $imie\n\nTemat: $firma\n\nWiadomosc:\n$wiadomosc\n"; 
  6. $mail->CharSet = "iso-8859-2";
  7. $Header = "Content-type: text/html; charset=utf-8r\n"; 
  8. $Header .= "Content-Transfer-Encoding: 8bitr\n"; 
  9. mail($ToName." <".$ToEmail.">",$ToSubject, $EmailBody, $Header); 
  10. ?>

kodowanie jest poprawne lecz w przeciwieństwie do pierwszego przykładu w oknie programu pocztowego nie pokazują się informacje OD KOGO TEMAT TREŚĆ jedno pod drugim tylko obok siebie.Może ktoś to ułożyć.Z góry dzięki.
drPayton
2. Pewnści nie mam a nie chcę mi się sprawdzać, ale jeśli wysyłasz wiadomość jako html, to nie \n tylko zwykły <br /> (Mówię oczywiście o treści wiadomości)
1.
  1. <?php
  2. $mail->CharSet = "iso-8859-2";
  3. ?>

Czyli jakbyś korzystał z jakiejś klasy do obsługi maila, a tymczasem wysyłasz go zwykłą funkcją mail. Innymi słowy te kodowanie nie jest brane pod uwagę. Kodowanie ustalasz natomiast w Header'ze, po co więc ten zacytowany fragment? :|
kogutor
wyrzuciłem ten fragment o którym pisałeś i teraz wszystko jest jedno pod drugim ale brak polskich znaków-wygląda to tak
  1. <?php
  2.  
  3. $ToEmail = "marek@cosik.pl";
  4. $ToSubject = "Jak ma sie nazywac mail przychodzacy";
  5. $EmailBody = "Temat: $imie\n\nFirma: $firma\n\nWiadomosc:\n$wiadomosc\n";
  6. mail($ToName." <".$ToEmail.">",$ToSubject, $EmailBody, "Od kogo mail: ".$email.">");
  7. $Header = "Content-type: text/html; charset=utf-8r\n"; 
  8. $Header .= "Content-Transfer-Encoding: 8bitr\n"; 
  9.  
  10. ?>

gdybyś znalazł chwilkę rzuć okiem
drPayton
Zobacz sam co robisz. Najpierw wysyłasz maila, a dopiero potem określasz jego parametry (header) aaevil.gif

  1. <?php
  2. $ToEmail = "nazwa@nazwa.pl"; 
  3. $ToSubject = "Mail ze strony www.nazwa.pl"; 
  4. $EmailBody = "Nazwisko: $imie<br/><br/>Temat: $firma<br/><br/>Wiadomosc:<br/>$wiadomosc<br/>"; 
  5. $Header = "Content-type: text/html; charset=utf-8r\n"; 
  6. $Header .= "Content-Transfer-Encoding: 8bitr\n"; 
  7. mail($ToName." <".$ToEmail.">",$ToSubject, $EmailBody, $Header);
  8. ?>

Sprawdź jak to zadziała

edit: A tak w ogóle to fragment $mail->CharSet sugeruje phpMailer'a, czemu więc z niego nie skorzystasz?
kogutor
nie daje rady,układam ten kod już różnie i nic (cieńki jestem z php)możesz go ułożyć tak jak powinien wyglądać?może wtedy chycę o co biega..
drPayton
Skorzystaj z phpMailer:
  1. <?php
  2. $mail->SetLanguage("pl");
  3. $mail->AddAddress($email, $emailFrom);
  4. $mail->From = $email;
  5. $mail->FromName = $emailFrom;
  6. $mail->AddReplyTo($email, $emailFrom);
  7. $mail->IsHTML(true);
  8. $mail->Subject = $subject;
  9. $mail->Body = '<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /></head><body>normalny<br /> hmtl
  10. </body></html>';
  11.  
  12. if(!$mail->Send()) {
  13. echo "Przepraszamy, ale wystąpił błąd. Nie udało się wysłać wiadomości."
  14. ."\n\nOdpowiedź systemu: {$mail->ErrorInfo}";
  15. } else {
  16. echo 'Twój email został‚ wysłany. Dziękujemy!';
  17. }
  18. ?>
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.