Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Kodowanie - Polskie znaki
Forum PHP.pl > Forum > Przedszkole
zs2108
Witam
To moj pierwszy post na tym forum. Jestem bardzo bardzo bardzo poczatkujacy. Prosze o wyrozumialosc i blagam nie odsylajcie mnie do innych stron.

Moj problem:
Napisalem bardzo skromny formularz ktory wysyla dane ze strony na adres e-mail. Problem w tym, ze gdy odbieram e-mail polskie znaki nie sa poprawnie wyswietlane.

Na poczatku skryptu dodalem
<?php header("Content-Type: text/html; charset=windows-1250"); ?>
Nic nie pomoglo polskie znaki dalej nie sa wyswietlane.
W pliku html kodowanie ustawione jest tak samo jak w skrypcie czyli windows-1250.

Bardzo ale to bardzo prosze o jakas rade co jest nie tak. Wiem ze to bardzo blachy problem i jeszcze raz prosze o wyrozumialosc i powstrzymanie sie wszystkowiedzacyh uzytkownikow od niemiilych komentarzy.
Z góry dziekuje.
pioch
ja ustawiam kodowanie na charset=iso-8859-2
zs2108
Własnie przed chwila sprobowalem... nie dziala sad.gif

Oto skrypt:

<?php header("Content-Type: text/html; charset=iso-8859-2"); ?>
<?php
// utworzenie krótkich nazw zmiennych
$nazwa1=$_POST['nazwa1'];
$ulica=$_POST['ulica'];
$nra=$_POST['nra'];
$nrb=$_POST['nrb'];
$kod=$_POST['kod'];
$miasto=$_POST['miasto'];
$mail=$_POST['mail'];
$forma=$_POST['forma'];
$rodzaj=$_POST['rodzaj'];
$adresdo = 'mail@mail.pl';
$temat = 'Zamówienie';
$zawartosc = 'Imie i Nazwwisko: '.$nazwa1."\n"

.'Ulica i nr: '.$ulica." ".$nra."/".$nrb."\n"


.'Kod i Miasto: '.$kod. " ".$miasto."\n"

.'E-mail: '.$mail."\n"

.'Forma zaplaty: '.$forma."\n"

.'Rodzaj przesylki: '.$rodzaj."\n";

mail($adresdo, $temat, $zawartosc, $adresod);
?>
<html>
<head>
<title>Dziekujemy za złożone zamówienie</title>
</head>
<body>
<h1 align="center">&nbsp;</h1>
<h1 align="center"><span style="font-size: 28pt">Dziękujemy</span></h1>
<p align="center"><b><font size="4">Na podany przez Ciebie adres e-mail wyślemy
potwierdzenie zamówienia</font></b></p>
</body>
</html>

W html-u tez zmienilem na charset=iso-8859-2 i nic sad.gif
Nie mam pojecia co jest zle.
Flow my tears
Po 1: Zaopatrz się w edytor tekstu, w którym wiesz w jakim formacie zapisujesz swoje pliki (np. PSPad). Notatnik często bywa zgubny ;-)

Po 2: Zapisuj pliki w takim formacie, w jakim ustawiasz meta-tagi (z Windows-1250 radzę jednak zrezygnować, i przerzucić się na utf-8).

Teraz już powinno być lepiej. Czasami też zdarzają się problemy z wyświetlaniem znaków w niektórych pocztach - kiedy ich kodowanie nie zgadza się z tym, jakie wysłaliśmy. Dlatego też warto korzystać z utf-8, bo jednak większość dobrych poczt właśnie tak koduje znaki i wówczas problemów nie powinno być.
zs2108
Dzieki za pomoc. Zabieram sie do pracy....

Sciagnalem edytor PSPad.
Zapisalem skypt za pomoca programu PSPad z kodowaniem UTF-8.
Zmienilem kodowanie w html-u na UTF-8.

Dalej zamiast ś ń ć wyswitlaja sie jakies znaczki sad.gif
Tragedia sad.gif
cornholio666
Ustaw w META utf-8

używaj STYLI a nie
Cytat
<b><font size="4">
Flow my tears
Weź pod uwagę to, że każdy plik twojej aplikacji musi być zapisany pod właściwym kodowaniem i dokładnie to sprawdź. To po prostu MUSI chodzić ;-)

do posta niżej: dokładnie tak, wypadła mi ta trzecia sprawa z głowy.
Amorph
Jak chcesz mieć poprawnie wysłany list musisz go również zakodować.
I nie ma tu nic czy to bedzie utf czy iso.
I strona i list powinny mieć identyczne kodowanie.

  1. <?php
  2. $headers= "Content-Type: text/html; charset=iso-8859-2n"; 
  3. mail($adresat,$temat,$wiadomosc,$headers);
  4. ?>
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.