Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]mail() - problem z kodowaniem przy użyciu iconv()
Savage.Mephisto
post 1.12.2009, 09:19:11
Post #1





Grupa: Zarejestrowani
Postów: 122
Pomógł: 11
Dołączył: 24.01.2008

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


Mam frustrujący problem z kodowaniem polskich znaków w treści maila, który jest generowany automatycznie i wysyłany przy użyciu funkcji mail().
Treść maila jest ucinana, gdy tylko pojawi się w niej znak w innym kodowaniu niż utf-8.
Zauważyłem, że Firefox 3.3.x ma czasem problemy z kodowaniem utf-8 i bez ingerencji użytkownika przestawia się na windows-1250.
Klient w sklepie internetowym wybiera przykładowo kolor ubrania i w miejscu polskich znaków pojawia się zamiast "żółty" zonk w stylu "żó?�ty". Po złożeniu zamówienia kolor w takiej formie jest zapisywany do bazy danych.
Zarówno baza danych, jak i kodowanie na stronie jest w utf-8. Treść maila jest przekodowywana w locie z utf-8 na iso-8859-2.

Fragment kodu:

  1. $tytuliso = iconv("UTF-8", "ISO-8859-2", $tytul);
  2. $tytuliso = "=?iso-8859-2?B?".base64_encode($tytuliso)."?=";
  3. $tresciso = iconv("UTF-8", "ISO-8859-2", $tresc);
  4. mail($email, $tytuliso, $tresciso, "From: $zam_header <$zam_email>\r\n"."Content-Type: text/plain; CharSet=ISO-8859-2; format=flowed");



Panowie, macie jakiś pomysł na rozwiązanie powyższego problemu?
Dodam, że nie występuje on za każdym razem.

Ten post edytował Savage.Mephisto 1.12.2009, 09:31:09


--------------------
Myślisz, że przeżyjesz swoje życie w blasku i chwale...
Lecz jest coś, co zmieni ci cały świat...
Szczerość!
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 25.06.2025 - 13:12