Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]mail i problem z kodowaniem:/
robos85
post
Post #1





Grupa: Zarejestrowani
Postów: 466
Pomógł: 11
Dołączył: 21.09.2006
Skąd: Szczecin

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


wysyłam maile funkcją mail();
wysyłanie wygląda tak:
  1. <?php
  2. $to=$arr['email'];
  3.            $title="tytuł";
  4.            $head =  "MIME-Versio: 1.0\n";
  5.            $head .= "Content-typ: text/html; charset=utf-8\n";
  6.            $head .= "Fro: blabla.pl <jakiś mail>\n";
  7.            $content="treść maila.....";
  8. ?>

  1. <?php
  2. mail($to,$title,$content,$head);
  3. ?>

Strona jest w utf-8.
I problem polega na tym, że np na gmailu nie ma krzaczków, o2 również ładnie pokazuje. na WP mam krzaki ale tylko w tytule, a na mailu w home.pl są wszędzie krzaki.

Jak temu zaradzić?
Go to the top of the page
+Quote Post
JoShiMa
post
Post #2





Grupa: Zarejestrowani
Postów: 1 374
Pomógł: 149
Dołączył: 1.03.2006

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


A nie powinno być:

  1. <?php
  2. $head .= 'Content-ty: text/html; charset="utf-8"\n';
  3. ?>
Go to the top of the page
+Quote Post
robos85
post
Post #3





Grupa: Zarejestrowani
Postów: 466
Pomógł: 11
Dołączył: 21.09.2006
Skąd: Szczecin

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


wzięcie tego w cudzysłowy nie pomaga:/
Go to the top of the page
+Quote Post
drPayton
post
Post #4





Grupa: Zarejestrowani
Postów: 890
Pomógł: 65
Dołączył: 13.11.2005
Skąd: Olsztyn

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


Ja męczyłem się z tym bardzo długo (problem identyczny), testowałem różne rozwiązania podane to na forum i znalezione gdzieś indziej i nic. Problem rozwiązałem metodą na odwal: zacząłem stosować bibliotekę PHPMailer ;P

@nospor: Hmmm, dobrze wiedzieć. Ale na te najpopularniejsze (polskie portale + gmail jeśli chodzi o darmowe) dochodzi tak jak trzeba. Skoro działa po zmianie na iso, to jak na mój skromny gust, nie chyba a na pewno jest to wina serwera poczty (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Tak więc jeśli można używamy iso, a jak nie możemy (oj zdarza się niestety, że klient się uprze) - to mamy to gdzieś jego sprawa (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)

Ten post edytował drPayton 18.09.2008, 11:08:02
Go to the top of the page
+Quote Post
nospor
post
Post #5





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




@drPayton ja uzywam PHPMailer i niestety na niektore skrzynki utf8 tez dochodzi z krzakami. Dziala dopiero zmiana kodowania na iso.
Sam chetnie bym sie dowiedzial jak zrobic by dobrze bylo wszedzie w utf8. No chyba ze niektore konta pocztowe same w sobie są zwalone i nie przyjmują poprawnie utf8
Go to the top of the page
+Quote Post
robos85
post
Post #6





Grupa: Zarejestrowani
Postów: 466
Pomógł: 11
Dołączył: 21.09.2006
Skąd: Szczecin

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


yhm, to jak moje zmienne pozamieniać na iso wszystkie żeby ładnie było?
Go to the top of the page
+Quote Post
drPayton
post
Post #7





Grupa: Zarejestrowani
Postów: 890
Pomógł: 65
Dołączył: 13.11.2005
Skąd: Olsztyn

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


Jeśli masz taką możliwość:
- zmień kodowanie plików (headery, meta)
- zmień kodowanie tekstu w plikach (np gżegżółką)

na iso-8859-2, a kodowanie w bazie na latin2 (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
robos85
post
Post #8





Grupa: Zarejestrowani
Postów: 466
Pomógł: 11
Dołączył: 21.09.2006
Skąd: Szczecin

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


nie ma takiej możliwości:/
Pliki są na utf8.
a mogę tylko dane do maila zamieniać na iso?
np, treść wiadomości i tytuł - obie te zmienne mam statycznie wpisane w pliku, nie jest to wyciągane z bazy
Go to the top of the page
+Quote Post
nospor
post
Post #9





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




@drPayton bez przesady. Wystarczy zmienic kodowanie tresci przy wysylania maila. Po co zaraz caly serwis (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
Hpsi
post
Post #10





Grupa: Zarejestrowani
Postów: 483
Pomógł: 50
Dołączył: 15.03.2005
Skąd: Poznań

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


a to fakt ;-) lepiej zminić same zmienne to jest prosta rzecz, niz cały serwis. Pamiętaj o tym też ze tytuł musi byc także w ISO
Go to the top of the page
+Quote Post
robos85
post
Post #11





Grupa: Zarejestrowani
Postów: 466
Pomógł: 11
Dołączył: 21.09.2006
Skąd: Szczecin

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


zmieniłem tak i chyba działa:)

  1. <?php
  2. $title2=iconv("UTF-8","ISO-8859-2",$title);
  3. $content2=iconv("UTF-8","ISO-8859-2",$content);
  4. ?>


Ten post edytował robos85 18.09.2008, 11:26:49
Go to the top of the page
+Quote Post
drPayton
post
Post #12





Grupa: Zarejestrowani
Postów: 890
Pomógł: 65
Dołączył: 13.11.2005
Skąd: Olsztyn

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


A bo ja porywczy jestem (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)

A tak na poważnie, to ostatnio zdecydowanie zbyt często spotykam się z problemami związanymi z utf8 i mocny mnie to wkurza. Nie mając wpływu na dostawców hostingu, poczty etc jedynym rozsądnym rozwiązaniem wydaje się więc przejście na iso.
Gorzej, jeśli robimy serwis/aplikację multijęzykową :/
Go to the top of the page
+Quote Post
robos85
post
Post #13





Grupa: Zarejestrowani
Postów: 466
Pomógł: 11
Dołączył: 21.09.2006
Skąd: Szczecin

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


BTW: jaką przewagę nad zwykłym mail ma phpmailer, gdy wysyłam maile w taki prosty sposób? tytuł, treść, bez załączników?
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: 27.08.2025 - 11:36