php sender mails med underlige æøå
Hej eksperterJeg går lige til sagen. I mange dage nu har jeg forsøgt at forstå php's måde at tyde æøå, og jeg har været mange forums igennem (incl. eksperten.dk) men uden at finde den optimale løsning.
Når man sender fra en html-form til et php script, og man man sender videre fra scriptet til en mail-adresse så kan man i fx hotmail godt se æøå, men i fx thunderbird mail kan man ikke:
Eksempel fra Hotmail:
Navn: Søren Vilhelmsen
Eksempel fra Thunderbird:
Navn: søren Vilhelmsen
En lappeløsning er denne php funktion:
function convertChar($stringToEdit)
{
$search =
array("æ","ø","Ã¥","Æ","Ø","Ã...","æ","ø","å","Æ","Ø","Å");
$replace =
array("æ","ø","å","Æ","Ø","Å","æ","ø","å","Æ","Ø","Å");
$text = str_replace($search, $replace, $stringToEdit);
return $text;
}
$navn = $navn; //navn uden der bliver gjort noget så det
virker i hotmail med æøå.
$navn2 = convertChar($navn); //navn som virker i Thunderbird
med æøå
Dvs. jeg sender det samme navn afsted 2 gange for at sikre mig at det vises rigtigt mindst 1 gang:
Eksempel fra Hotmail:
Navn: Søren Vilhelmsen
Navn2: S�ren Vilhelmsen
Eksempel fra Thunderbird:
Navn: søren Vilhelmsen
Navn2: Søren Vilhelmsen
Findes der ikke en løsning på dette problem, således at jeg slipper for at sende navnet og andre felter 2 gange?
Mht. Encoding så bruger jeg i mit php-script:
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
Og min form har også en encoding:
<form name="contactform" method="post" action="form-script.php" charset=utf-8>
Håber i kan hjælpe.
Mvh. LuckyJack