Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] polskie znaki w mail()
kalafoon
post
Post #1





Grupa: Zarejestrowani
Postów: 42
Pomógł: 0
Dołączył: 21.10.2007

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


Witam,

wiem, że wątek przewijał się już n-razy ale naprawdę nie umiem sobie z tym pordzić.
w wiadomości, która do mnie przychodzi nie ma polskich znaków. Proszę nie odsyłajcie mnie do innych postów bo przejrzałem już wszystkie i nie umiem sobie z tym pordzic (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)

Moze ktos mi napisac co i gdzie mam wstawic zeby to zadziałało? przesyłam wersje gołą która działa dobrze bez polskich znaków. Będe bardzo wdzięczny! Naprawde sam próbowałem to zrobić ze 30 razy - nie ide na łatwizne.

  1. <?php
  2. $ToEmail = "info@cocon-graphics.pl";
  3.   $ToName = "Cocon-Graphics";
  4.   $ToSubject = "www.cocon-graphics.pl";
  5.  
  6.  
  7.   foreach($HTTP_POST_VARS as $key => $val) {
  8.    $key = $val;
  9.    global $key;
  10.   }
  11.  
  12.   $EmailBody = "Nadawca: $name\nE-mail nadawcy: $email\nTemat: $topic\n\nTresc wiadomosci:\n$mesg";
  13.  
  14.   $Message = $EmailBody;
  15.  
  16.   mail($ToName." <".$ToEmail.">",$ToSubject, $Message, "From: ".$name." <".$email.">");
  17. ?>


?

Ten post edytował kalafoon 14.03.2008, 02:14:38
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 10)
bogdan89
post
Post #2





Grupa: Zarejestrowani
Postów: 320
Pomógł: 36
Dołączył: 28.08.2006
Skąd: Wrocław

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


w parametrze headers funkcji mail(); musisz po prostu zadeklarować kodowanie:
np.:
Kod
Content-Type: text/plain; charset=iso-8859-2\n
Go to the top of the page
+Quote Post
kalafoon
post
Post #3





Grupa: Zarejestrowani
Postów: 42
Pomógł: 0
Dołączył: 21.10.2007

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


ale w którym dokładnie miejscu mam to wpisać ? 
Go to the top of the page
+Quote Post
goozer
post
Post #4





Grupa: Zarejestrowani
Postów: 25
Pomógł: 7
Dołączył: 29.02.2008

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


Kod
$Naglowki  = "MIME-Version: 1.0\r\n";
        $Naglowki .= "Content-type: text/html; charset=iso-8859-2\r\n";
        $Naglowki .= "From: ".$name." <".$email.">";

mail($ToName." <".$ToEmail.">",$ToSubject, $Message, $Naglowki);


Na przyklad tak.

G
Go to the top of the page
+Quote Post
kalafoon
post
Post #5





Grupa: Zarejestrowani
Postów: 42
Pomógł: 0
Dołączył: 21.10.2007

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


niestety nie działa (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)

teraz mój kod wygląda tak:

  1. <?php
  2. $ToEmail = "moj@email.pl";
  3. $ToName = "Nazwa";
  4. $ToSubject = "strona www";
  5.  
  6. foreach($HTTP_POST_VARS as $key => $val) {
  7.  $$key = $val;
  8.  global $$key;
  9. }
  10.  
  11. $Naglowki = "MIME-Version: 1.0r\n";
  12. $Naglowki .= "Content-type: text/html; charset=iso-8859-2r\n";
  13. $Naglowki .= "From: ".$name." <".$email.">";
  14.  
  15. $EmailBody = "Nadawca: $name\nE-mail nadawcy: $email\nTemat: $topic\n\nTresc wiadomosci:\n$mesg";
  16.  
  17. $Message = $EmailBody;
  18.  
  19. mail($ToName." <".$ToEmail.">",$ToSubject, $Message, $Naglowki);
  20. ?>
Go to the top of the page
+Quote Post
goozer
post
Post #6





Grupa: Zarejestrowani
Postów: 25
Pomógł: 7
Dołączył: 29.02.2008

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


Moze nie to kodowanie. Moze uzywasz utf-8 do polskich znakow?

G
Go to the top of the page
+Quote Post
kalafoon
post
Post #7





Grupa: Zarejestrowani
Postów: 42
Pomógł: 0
Dołączył: 21.10.2007

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


tak, używam UTF-8

DZIAŁAAAAAA (IMG:http://forum.php.pl/style_emoticons/default/guitar.gif)

wielkie wielkie dzieki (IMG:http://forum.php.pl/style_emoticons/default/exclamation.gif)

Ten post edytował kalafoon 14.03.2008, 11:31:09
Go to the top of the page
+Quote Post
Sławo
post
Post #8





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

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


Możesz ewentualnie skorzystać z kodowania windows-1250 i wtedy masz:

Content-Type: text/plain; charset=windows-1250\n
Go to the top of the page
+Quote Post
goozer
post
Post #9





Grupa: Zarejestrowani
Postów: 25
Pomógł: 7
Dołączył: 29.02.2008

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


no to tam gdzie jest charset trzeba ustawic nie iso-8859-2 tylko utf-8.
A do tego jezeli jeszcze masz w temacie polskie znaki to musisz zrobic taki trick -
Kod
$ToSubject= "=?UTF-8?B?".base64_encode(''.$ToSubject.'')."?=";


G
Go to the top of the page
+Quote Post
mThW
post
Post #10





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 19.07.2006

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


Jupi (IMG:http://forum.php.pl/style_emoticons/default/exclamation.gif) (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) Przeczytalem chyba wszystkie tematy n/t polskich znakow, wreszcie teraz udalo mi sie udoskonalic moj formularz (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Dziekowa G

sory ze odswiezam (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)

;d
Go to the top of the page
+Quote Post
MajareQ
post
Post #11





Grupa: Zarejestrowani
Postów: 382
Pomógł: 22
Dołączył: 21.05.2007
Skąd: Elbląg

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


kalafoon winien punkta pomoga panu goozerowi (IMG:http://forum.php.pl/style_emoticons/default/haha.gif)
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: 22.08.2025 - 20:49