Jak wysłać e-mail z polskimi znakami? (Brak polskich znaków w e-mailu)

tiger

Często spotkałem się w serwisach z błędem braku kodowania polskim znaków przy użyciu funkcji mail().

Omówienie

Aby w treści maila były prawidłowo kodowane polskie znaki, należy wysłać dodatkowy nagłówek mówiący nam o kodowaniu :

Content-Type:text/plain; charset="iso-8859-2"

Nagłówki podawane są jako ostatni parametr funkcji mail().

Dodatkowo jeśli chcemy, aby w temacie naszego maila były dobrze kodowanie polskie znaki musimy go zapisać w następujący sposób:

$subject = "Pchnąć w tę łódź jeża lub ośm skrzyń fig.";
$subject = '=?ISO-8859-2?B?' . base64_encode($subject) . '?='; 

i jako taki wysłać funkcją mail().

FAQ

3 komentarzy

Ja wysyłam Content-Type:text/plain; charset='utf-8 i jakoś wychodzi bo mam kodowanie utf

też prawda:) zmieniam:)

Porada jest OK tylko ten przykład... ...może i trudny fonetycznie ale... ...ale zawiera tylko jeden polski znak :)