Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Polskie znaki - nic nie pomaga
Forum PHP.pl > Forum > PHP
zbi213
Jako że to mój pierwszy post na tym forum witam wszystkich serdecznie.
Od jakiegoś czsu przeglądam to forum i wiele razy znalazłem potrzebne rozwiązania ale
tym razem mam problem. Wiadomości dochodzą bez polskich znaków.
Wprawdzie tytuł wiadomości ma polskie znaki bo udało mi się to rozwiązać ale
treść i od kogo niestety nie.

<?php
}
else /* send the submitted data */
{
$name=$_REQUEST['your-name'];
$email=$_REQUEST['your-email'];
$mailsubject=$_REQUEST['your-subject'];
$message=$_REQUEST['your-message'];
if (($name=="")||($email=="")||($message==""))
{
echo "All fields are required, please fill <a href=\"\">the form</a> again.";
}
else{
$from="From: $name<$email>\r\nReturn-path: $email";
$subject=" ($mailsubject)";
$subject="=?UTF-8?B?".base64_encode($subject)."?=";
mail("biuro@technicstudio.pl", $subject, $message, $from);
echo "Twoja wiadomość została wysłana.";
}

?>


Jeśli jest ktoś w stanie mi pomóc to będą bardzo wdzięczny.
nospor
1) Uzywaj bbcode
2) W mailu masz okreslic ze jest on w UTF8. W manualu przy funkcji mail() napisali jak to zrobic.
zbi213
Dzięki za szybką odpowiedź lecz gdybyś mógł bardziej rozjaśnić bo niewiele wiem o kodowaniu a kod który wkleiłem
kupiłem wraz z e stroną i stąd mój problem.
Do niego dopisałe $subject="=?UTF-8?B?".base64_encode($subject)."?="; i to sprawiło że tytół
ma polskie znaki ale reszta niestety nie.
Turson
Plik też musisz mieć w UTF-8
zbi213
Plik jest w UTF-8 ale to nic nie daje
nospor
Jak juz pisalem: zajrzyj do manuala
http://pl1.php.net/manual/en/function.mail.php
Tam masz napisane jak ustawic UTF8 dla CALEGO MAILA a nie tylko dla tematu
zbi213
nospor , dzięki za link (wcześniej nie zrozumiałem o co Ci chodzi) Znalazłem tam o polskich znakach ale
jestem za cienki żeby to ogarnąć.
nospor
$from="Content-type: text/html; charset=utf-8\r\nFrom: $name<$email>\r\nReturn-path: $email";
zbi213
Częściowo pomogło bo treść już jest poprawnie niestety nazwa nadawcy nadal nie ma polskich znaków.
nospor
No to nadawce zrob dokladnie tak samo jak zrobiles z tematem (subject)
zbi213
Niestety żadne zabiegi nie pomagają. Chyba nie wiem jak to zrobić albo gzie wstawić.
Próbowałem też usunąć pole '' Twoje imię" ale wtedy nie chce wysłać wiadomości.
trueblue
Spróbuj dodać jeszcze te dwa nagłówki:
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
zbi213
nie pomaga.
trueblue
Ale $name nie koduj jak tematu.
zbi213
Wróciłem z pracy i próbuję dalej coś z tym zrobić lecz nadal nic.
Wkleję więcej kodu to może ktoś coś pomoże . Ewentualni jak
zrobić aby pole twoje imię nie było wymagane. Wtedy można by go usunąć i po
sprawie.

  1. <?php
  2.  
  3. $action=$_REQUEST['action'];
  4. if ($action=="") /* display the contact form */
  5. {
  6. ?>
  7.  
  8.  
  9. <div class="wpcf7" >
  10. <form action="contact.php" method="post" class="wpcf7-form" enctype="multipart/form-data">
  11. <input type="hidden" name="action" value="submit">
  12.  
  13. <p>Twoje Imię (wymagane)<br>
  14. <span class="wpcf7-form-control-wrap your-name">
  15. <input name="your-name" value="" size="40" class="wpcf7-form-control wpcf7-text wpcf7-validates-as-required" aria-required="true" type="text">
  16. </span>
  17. </p>
  18.  
  19. <p>Twój Email (wymagane)<br>
  20. <span class="wpcf7-form-control-wrap your-email">
  21. <input name="your-email" value="" size="40" class="wpcf7-form-control wpcf7-text wpcf7-email wpcf7-validates-as-required wpcf7-validates-as-email" aria-required="true" type="email">
  22. </span>
  23. </p>
  24.  
  25. <p>Temat (wymagane)<br>
  26. <span class="wpcf7-form-control-wrap your-subject">
  27. <input name="your-subject" value="" size="40" class="wpcf7-form-control wpcf7-text" type="text">
  28. </span>
  29. </p>
  30.  
  31. <p>Twoja Wiadomość (wymagane)<br>
  32. <span class="wpcf7-form-control-wrap your-message">
  33. <textarea name="your-message" cols="40" rows="10" class="wpcf7-form-control wpcf7-textarea"></textarea>
  34. </span>
  35. </p>
  36.  
  37. <p>
  38. input value="Wyślij" class="wpcf7-form-control wpcf7-submit" type="submit">
  39. </p>
  40. </form>
  41. </div>
  42.  
  43.  
  44. <?php
  45.  
  46. }
  47. else /* send the submitted data */
  48. {
  49. $name=$_REQUEST['your-name'];
  50. $email=$_REQUEST['your-email'];
  51. $mailsubject=$_REQUEST['your-subject'];
  52. $message=$_REQUEST['your-message'];
  53. if (($name=="")||($email=="")||($message==""))
  54. {
  55. echo "All fields are required, please fill <a href=\"\">the form</a> again.";
  56. }
  57. else{
  58. $from="Content-type: text/html; charset=utf-8\r\nFrom: $name<$email>\r\nReturn-path: $email";
  59. $subject=" ($mailsubject)";
  60. $subject="=?UTF-8?B?".base64_encode($subject)."?=";
  61. mail("biuro@technicstudio.pl", $subject, $message, $from);
  62. echo "Twoja wiadomość została wysłana.";
  63. }
  64. }
  65. ?>


Dzięki wszystkim za pomoc . Już zrobiłem
trueblue
Spróbuj tak:
  1. else{
  2. $headers = 'MIME-Version: 1.0' . "\r\n";
  3. $headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";
  4. $headers .= 'From: '.$name.' <'.$email.'>'."\r\n";
  5. $headers .= 'Reply-To: '.$email."\r\n";
  6. $headers .= "Message-ID: <".(time().(rand(0,1000)))."TechnicStudio@".$_SERVER['SERVER_NAME'].">"."\r\n";
  7. $headers .= "X-Mailer: PHP v".phpversion()."\r\n";
  8.  
  9. $subject=" ($mailsubject)";
  10. $subject="=?UTF-8?B?".base64_encode($subject)."?=";
  11. mail("biuro@technicstudio.pl", $subject, $message, $headers);
  12. echo "Twoja wiadomość została wysłana.";
  13. }
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.