Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] function.mail - utf-8 problem
anr
post
Post #1





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 21.05.2009
Skąd: Białystok

Ostrzeżenie: (0%)
-----


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 ?
Go to the top of the page
+Quote Post
thek
post
Post #2





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




W ustawieniu nagłówka maila także na utf-8 (IMG:style_emoticons/default/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.
Go to the top of the page
+Quote Post
anr
post
Post #3





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 21.05.2009
Skąd: Białystok

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
Sławo
post
Post #4





Grupa: Zarejestrowani
Postów: 54
Pomógł: 0
Dołączył: 10.03.2008
Skąd: Łódź

Ostrzeżenie: (0%)
-----


Może ten temat będzie pomocny:

http://forum.php.pl/index.php?showtopic=106788&st=0
Go to the top of the page
+Quote Post
anr
post
Post #5





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 21.05.2009
Skąd: Białystok

Ostrzeżenie: (0%)
-----


Mam header ustawiony na utf-8 od samego początku.
Gdyby odpowiedź była taka prosta i oczywista bym nie zakładał tematu (IMG:style_emoticons/default/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.
Go to the top of the page
+Quote Post
teleimpact@
post
Post #6





Grupa: Zarejestrowani
Postów: 15
Pomógł: 1
Dołączył: 16.03.2010

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
anr
post
Post #7





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 21.05.2009
Skąd: Białystok

Ostrzeżenie: (0%)
-----


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 ? (IMG:style_emoticons/default/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.
Go to the top of the page
+Quote Post
nospor
post
Post #8





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




To nie klient ma zmieniać znaczki tylko ty (skrypt php) przed wysłaniem maila.
Go to the top of the page
+Quote Post
anr
post
Post #9





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 21.05.2009
Skąd: Białystok

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
bolo83
post
Post #10





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 20.03.2010

Ostrzeżenie: (10%)
X----


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
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 17:54