Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: polskie znaki w mailu
Forum PHP.pl > Forum > Przedszkole
Prezes
Witam,
wydaje mi sie, ze gdzies juz widzialem ten temat ale wtedy nie byl mi potrzebny a teraz nie moge go znalezc. Ludzie w ogole nie daja tematow odpowiednich do problemu /przykre/.
Wiec moje pytanie :
Co zrobic zeby nie bylo krzakow w mailu wyslanym z www? jakie kodowanie zastosowac? Czy strona w jakiej jest skrypt musi tez byc jakos kodowana(specjalnie na potrzeby maila)?Bo tak slyszalem ale wydaje mi sie ze nie ma to wiele wspolnego. Tak wiec co zrobic zeby wszyscy mieli piekne polskie znaczki ąćśęółźż itd.
Pozdrawiam serdecznie
lukaswoj
Plik, w którym zapisana jest treść maila jest zapisany w jakiejś stronie kodowej. W takich lepszych eydtorach masz wybór zapisu strony kodowej.

Weź dla przykładu zwykłą stronkę/plik HTML. Piszesz go i w nagłówku ustawiasz kodowanie ISO-8859-2 i żeby to miało sens to właśnie ten plik musisz zapisać na dysku używając tego samego kodowania. Wtedy przeglądarka spodziewając się właśnie takiego kodowania - otrzyma je.

W mailu jest identycznie. Jeśli maile generujesz z jakichś szablonów, które są oddzielnymi plikami, to muszą one być zapisane w takim samym kodowaniu, jake ustawiasz w nagłówkach wysyłanego maila.

Jeśli wszystko masz w jednym skrypcie to ten skrypt musisz zapisać w kodowaniu takim jakie ustawiasz w mailu.

No w sumie to nie zawsze to jst prawdą, bo możesz tuż przed wysłaniem maila, przepuścić go (tzn zawartość zmiennej, w której trzymasz treść maila) przez funkcję iconv() i w takim przypadku nie przejmujesz się w jakim kodowaniu zapisany jest sam skrypt realizujący to.
Prezes
No ok mam juz te polske znaki dzieki wielkie za sugestie. Tylko po zmianie tego wszystkiego on mi teraz zapisuje w formasie html, no i jak pisze maila i daje "enter" to mail przychodzi mi w jednej linijce. Jak zrobic by tak nie bylo a zaznaczam ze nie chce zawsze pisac "<br>" albo jak jest jakis link to zeby nie pisac "<a href="">"
lukaswoj
Tekst jaki wysyłasz mailem jest jeden, możesz tylko w nagłówkach umieścić informację, że ta treść jest kodem HTML lub nim nie jest.
Wtedy klient wie, że musi ten kod potraktować jak dokument HTML i wyświetlić go odpowiednio.

Jeśli rzeczywiście wysyłasz tą treść jako HTML to musisz wstawiać <br /> co każdą linijkę albo np całość umieścić w znaczniku <pre> </pre>.

Zajrzyj na pl2.php.net i w dokumentacji funkcji mail() poczytaj komentarze, jest tam kilka ciekawych przykładów/funkcji wysyłających maile w różnych formatach (HTML, zwykły tekst).
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.