Polskie znaki w emailach — problemy z kodowaniem
Maile z polskimi znakami (ą, ę, ó, ł) mogą wyglądać niepoprawnie u odbiorcy jeśli kodowanie jest ustawione błędnie. Najczęstszy problem: znaki zastąpione przez ?, ?, → lub ???.
Przyczyny problemów z kodowaniem
- Brak deklaracji charset w nagłówkach maila
- Niezgodność kodowania: UTF-8 vs ISO-8859-2 (latin2)
- Stary klient pocztowy nie obsługujący UTF-8
Ustawienie kodowania w PHP mail()
<?php
$naglowki = "MIME-Version: 1.0
";
$naglowki .= "Content-type: text/html; charset=UTF-8
";
$naglowki .= "From: nadawca@domeną.pl
";
mail('odbiorca@domeną.pl',
'=?UTF-8?B?' . base64_encode('Temat z polskimi znakami') . '?=',
$tresc, $naglowki);
?>
Ustawienie kodowania w Roundcube
- Ustawienia → Preferencje → Poczta
- Kodowanie wiadomości: UTF-8
Ustawienie kodowania w Outlook
- Plik → Opcje → Zaawansowane → Opcje internetowe → Kodowanie
- Wychodzące: Unicode (UTF-8)