Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Kodowanie e-maili
Forum PHP.pl > Forum > Przedszkole
gladiror
Witam!
Mam problem dotyczący kodowania polskich znaków... Uzywam standardu ISO 8859-2. Wszystkie pliki, które zrobiłem to koduje w tym standardzie... Na stronce ładnie wyświetla mi polskie znaki jak w <meta> dodaje to kodowanie... Problem pojawia sie w e-mailach... Dodałem dodatkowy nagłówek w funkcji mail:

$naglowki = "MIME-Version: 1.0\r\n";
$naglowki .= "Content-type: text/html; charset=iso-8859-1\r\n";

(z manula to wziąłem).

Gdy wysła maile to przy odbieraniu widać krzaczki... Jak uniknąć tego??

Podobny problem mam jak z bazy danych wyświetlane są informacje... Też występują tam krzaczki...

Bardzo proszę o pomoc...
zbig13
Nie jestem pewien czy to w tym problem, ale jeśli na stronie masz kodowanie ISO-8859-2 to dlaczego w nagłówku dla funkcji mail dałeś:
$naglowki .= "Content-type: text/html; charset=iso-8859-1\r\n";

A co do bazy danych to też tak miałem i to jeszcze dzisiaj rano smile.gif Ale znalazłem na forum rozwiązanie. Nie pamiętam który to był post, ale chodzi o to, że przed wywoływaniem rekordów z bazy a najlepiej zaraz pod tym jak łączysz się z bazą danych dodaj:
  1. <?php
  2.  
  3. mysql_query (&#092;"SET NAMES latin2\");
  4.  
  5. ?>

Pozdrawiam!
gladiror
Usunałem
  1. <?php
  2.  
  3. $naglowki .= &#092;"Content-type: text/html; charset=iso-8859-1rn\";
  4.  
  5. ?>


Jest teraz lepiej - widzi "ł","ó", ale nie widzi "ś", "ą" winksmiley.jpg

Jeżeli chodzi o baze danych to wykoczyły same "?questionmark.gif?" biggrin.gif:D
AxZx
  1. <?php
  2. $naglowki = &#092;"MIME-Version: 1.0rn\";
  3. $naglowki .= &#092;"Content-type: text/html; charset=iso-8859-1rn\";
  4. ?>



skoro juz to dodales to zmien kodowanie

na
  1. <?php
  2.  
  3. $naglowki = &#092;"MIME-Version: 1.0rn\";
  4. $naglowki .= &#092;"Content-type: text/html; charset=iso-8859-2rn\";
  5.  
  6. ?>


brak konsekwencji...
gladiror
W dalszym ciągu jest tak samo (tyle, że widzi "ł","ó", ale nie widzi "ś", "ą"...
Polik
Witam!
Ja mam identyczny problem! Zmienilem kodowanie na "2" na koncu ale wyskakuje to samo co u kolego wyzej.
Jak na to poradzic?

Dzieki za odp. i pozdr!
gladiror
Zbig13 nie latin2 tylko
  1. <?php
  2.  
  3. mysql_query ("SET NAMES latin1");
  4.  
  5. ?>


Teraz już działa, tylko, że "ż" nie ma biggrin.gif
nospor
Napiszę to co napisalem dla @gladiror. Niech to będzię przestrogą dla innych.
Cytat
ja używam takiego nagłówka:
Content-Type: text/html; charset="iso-8859-2"
czyli taki jaki ci proponowano.
Wydaje mi się więc, że ty tekst nie wysylasz w iso-8859-2. Chodzi mi oto, że oprócz nagłówka, również i tekst musi być w iso. Ja wszystkie skrypty piszę mając włączoną klawiaturę iso-8859-2 i nie mam problemów poźniej z mailami. Problemy są gdy trafi się tekst napisany w utf-8 lub innym.

Chodzi oto, że oprócz nagłówków, trzeba też pisać w odpowiednim kodowaniu.
@gladiror se przekonwertowal plik na iso i zadzialalo biggrin.gif
Kas
Też miałem z tym problem - dzięki nospor. biggrin.gif
AxZx
a ja polecam jednak pisac w utf-8:)

i w klasie obslugi mysql przed query dodac jeszcze SET NAME utf-8
elegancko zapisuje do bazy polskie znaczki, sortuje tez dobrze

...

ale jest jeden problem
nie rozroznia A od Ą
bak to jest to samo co bąk
jak ja mam kolumne z atrybutem unikalna to nie moge wrzucic bak i bąk
sad.gif

moze jednak sie da tylko kolejny trik trzeba zrobic?
Kas
Nie ma metody, żeby wszystko było ok?
Nagłówek i treść z polskimi znakami diakrytycznymi.
gladiror
A gdzie szukać tego sterownika do klawiatury żeby ISO było cały czas?questionmark.gif
Kas
Pod windows ustawiasz klawiaturę na polski. biggrin.gif
W systemach unix - masz w panelu stereowania (graficznie) lub plikach konfiguracyjnych (tekstowo).
nospor
Cytat
Pod windows ustawiasz klawiaturę na polski.
Oj nie koniecznie. Ja mialem tylko polski programisty. musialem do iso se zainstlaować

@gladiror rzuc mi mailem na pw to ci podesle zalącznik z instalką
ps: mogles pogooglac a nie na forum leciec
sticker
Jeszcze może być jeden bag w zmiennej środowiskowej Mysql . Kiedys też miałem taki problem i sprawdziłem czemu mimo że plik konfiguracyjny mysql miał kodowanie iso-8859-2 i w php tez wydawało sie wszystko ok ,to nie zgadzało sie coś z baza i mi błedy wyrzucało i o dziwo zmusiłem sie do odpalenia chyba pod mysql komedny /server albo /info cos w ten desen (niesety nie moge sprawdzic bo aktualnie nie mam dostępu do żadnej bazy sad.gif ) i tam sa wylistowane zmienne srodowiskowe. Sprawdz czy wszystkie sa w jednym kodowaniu.. Jak sie nie myle to nazwyają sie : characterset-server, characterset-client, characterset-database i jeszcze cos ale nie jestem pewny jakie nazwy (w sumie jest ich 4 zmienne) I jakby sie nie zgadzało to trzeba zmienienic komende znajdziesz w manie mysql
Polik
Nie no teraz to juz sie kompletnie pogubilem smile.gif od klawiatury zalezy czy wyswietla polskie literki!!!?questionmark.gif ja juz nie wiem ... mozna jeszcze raz?questionmark.gif
gladiror
Cytat
Nie no teraz to juz sie kompletnie pogubilem  od klawiatury zalezy czy wyswietla polskie literki!!!?questionmark.gif ja juz nie wiem ... mozna jeszcze raz?questionmark.gif


Nie od klawiatury.... Od tego jak zakodujesz znaki w pliku - klawiatura ma Ci ułatwić dodawanie tych znaków...
Polik
... a mozesz jasniej bo tego wczesniejszego to nie zakumalem?

PS: czy my dalej gadamy o tym samym bo jakos nic nie kojarze? smile.gif
gladiror
Ściągnij sobie program "Konwerter Polskich Znaków"... Dzięki temu programowi będziesz mógl przekonwertować swoje pliki *.php na ISO, co pozwoli Ci, ze będziesz miał polskie litery...
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.