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:
$tytuliso = iconv("UTF-8", "ISO-8859-2", $tytul); $tresciso = iconv("UTF-8", "ISO-8859-2", $tresc); 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.