Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] function.mail - utf-8 problem
Forum PHP.pl > Forum > Przedszkole
anr
Witam, mam formularz kontaktowy.
Kodowanie strony na której jest formularz : utf-8
Kodowanie formularza : utf-8
Kodowanie wysyłanej wiadomości przez mail.php - utf-8

Jak kieruję maila do siebie na : @gmail.com - mail przychodzi z Polskimi znakami, wszystko działa pięknie.
Edytowane pliki zapisywałem notatnikiem i Notepad++ jako utf-8

Jednak po przekierowaniu formularza na mailu z domeną @adf.com.pl maile już dochodzą z krzakami zamiast Polskich znaków.
Zgłupiałem zupełnie ...

W czym może leżeć problem ?
thek
W ustawieniu nagłówka maila także na utf-8 smile.gif Domyślnie z tego co kojarzę jest słane jako iso-8859-1. Ustaw w nagłówku charset na utf-8 a powinno zaśmigać.

Temat przenoszę też na przedszkole bo tam jego miejsce i pojawiał się na forum już dziesiątki razy. Wystarczy uzyć szukaj na forum a sam byś zobaczył ile tego było.
anr
Wiem, że było dlatego wymieniłem iż wszędzie użyłem utf-8.

Pliki zapisane w utf-8
Kodowanie strony utf-8
Formularze w utf-8
Skrypt mail.php z utf-8
Wysyłany mail ma kodowanie utf-8

Dlatego to bardzo mnie zastanawia, że na gmail'u są Polskie znaki, na prywatnej domenie - nie.
Sławo
Może ten temat będzie pomocny:

http://forum.php.pl/index.php?showtopic=106788&st=0
anr
Mam header ustawiony na utf-8 od samego początku.
Gdyby odpowiedź była taka prosta i oczywista bym nie zakładał tematu smile.gif

Upewniłem się milion razy czy pliki są zapisane w utf-8 czy strona, formularze, skrypt, headery i wszystko inne mają kodowanie na utf-8 ...
Mimo wszystko na gmaila wysyła polskie znaki normalnie, na prywatną domenę adf.com.pl wysyła krzaki - czemu.
teleimpact@
Ja mam podobny problem, jednak Polskie znaki dochodzą popsute tylko na skrzynki Wirtualnej Polski.
Proste rozwiązanie - zamieniaj wszystkie Polskie znaki na zamienniki HTML. Wszędzie wyświetli taki mail prawidłowo. Zarówno na skrzynkach portali, jak i w programach mailowych.
anr
To co mam powiedzieć klientowi, który na stronie www wypełnia i wysyła maila z zapytaniem do administratora strony, żeby mu wklepywał znaki specjalne zamiast polskich liter ? smile.gif
Tu nie chodzi o treści stałe maila tylko o treści, które ktoś wklepie w formularz do okna i wyśle.
nospor
To nie klient ma zmieniać znaczki tylko ty (skrypt php) przed wysłaniem maila.
anr
Index.php

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
  3.  
  4. <meta http-equiv="content-type" content="text/html; charset=utf-8" />


>>>>>>>>>>>>>>>

W nim wyświetla poprzez include zakładkę kontakt :
Początek formularza :
  1. <form action="Kalkulator1.php" method="post" accept-charset="utf-8">


>>>>>>>>>>>>>>>

Formularz po wypełnieniu korzysta ze skryptu PHP z fukncją mail :

Początek skryptu :

  1. <?php
  2.  
  3. if(isset($_POST['auto']))
  4. {
  5. $komunikat='Error';
  6. $adres="jakismail@test.com";
  7.  
  8. $charset = 'utf-8';
  9. $temat="tytul wiad.";


Koniec skryptu z mom. wysyłki maila :

  1.  
  2. $header = "From: Nadawca \nContent-Type:".
  3. "text/html;charset=utf-8\n".
  4. "\n";
  5.  
  6. if(function_exists('mail'))
  7. {
  8. if(mail($adres, $temat, $tresc,$header))
  9. {
  10. $komunikat='E-MAIL wysłany pomyślnie.';
  11. }
  12.  
  13. }
  14. else
  15. {
  16. $komunikat='Wystąpił błąd podczas wysyłania wiadomości';
  17. }
  18. }
  19.  
  20. }
  21.  
  22. ?>



################

Index ma utf-8 tak samo jak formularz i skrypt wysyłający.
Jak już pisałem - MAILE DO MNIE DOCHODZĄ Z POLSKIMI ZNAKAMI.
na o2, na onet, na gmail - wszędzie jak ustawie ten formularz to zarówno stałe treści ustawione w pliku jak i wpisane w pola formualarza przychodzą poprawnie.
zmieniam maila na maila mojego klienta, on dostaje już krzaki ...

to mnie zastanawia czemu ja mam normalnie działające Polskie znaki, a on już dostaje znaczki i robi śmietnik z wiadomości ?


bump
bolo83
Problem może tkwić w konfiguracji samej skrzynki mailowej. Co prawda dawno już nie korzystałem ze skrzynek na przeglądarkach (używam Thunderbirda do poczty) ale wydaje mi się że można gdzieś ustawić w jakim kodowaniu domyślnie mają się otwierać przychodzące maile. Miałem podobny problem z programem pocztowym. Wszystkie maile przychodziły do mnie OK a jak wysyłałem coś przez formularz na stronie to dostawałem krzaki zamiast polskich znaków. Okazało się, że mam ustawiony program pocztowy do automatycznego odczytywania znaków w UTF-8 a strona, formularz i nagłówki były na iso-8859-2. Może tu jest odwrotnie. Spróbuj zakodować wiadomość na -iso-8859-2 może dostanie odpowiednie kodowanie
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.