Hej Alle
Jeg har lavet en mailfunktion, men problemet er at den ikke gidder skrive æ,ø og å i de mails der kommer frem. Fx ser emnet på mailen sådan ud:
Kontaktønske på ufærdig-hjemmeside.dk
Og koden ser sådan ud:
Kontaktønske på ufærdig-hjemmesideosv.dk
Kan man gøre noget for at forhindre det?
Mvh Rasmus
Jeg bruger selv en fuktion som encoder strengen så den kan bruges, den får du lige, håber det hjælper
function imap_encode_str($str) {
$iso = "=?ISO-8859-1?Q?";
$str = str_replace(' ','_',$str);
for($i = 0; $i < strlen($str); $i++) {
if (ord(substr($str,$i,1)) < 1 || ord(substr($str,$i,1)) > 127) {
$char = ord($str[$i]);
$char = strtoupper(dechex($char));
$iso .= "=" . $char;
} else {
$iso.=substr($str,$i,1);
}
}
$iso.="?=";
return $iso;
}
og du kan da også lige få den jeg bruger til at decode strengen igen
function imap_decode_str($str) {
/*
Med php5 er nedenstående lettere med
stri_replace()
som er case in-sensitive
*/
$str = str_replace("=?ISO-8859-1?Q?","",$str);
$str = str_replace("=?Iso-8859-1?Q?","",$str);
$str = str_replace("=?iso-8859-1?Q?","",$str);
$str = str_replace("=?ISO-8859-1?q?","",$str);
$str = str_replace("=?Iso-8859-1?q?","",$str);
$str = str_replace("=?iso-8859-1?q?","",$str);
$str = str_replace("?=","",$str);
$str = str_replace("_"," ",$str);
$hex=array('0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F');
for ($z = 0; $z < count($hex); $z++) {
for ($i = 0; $i < count($hex); $i++) {
$str = str_replace(("=".($hex[$z].$hex[$i])), chr(hexdec($hex[$z].$hex[$i])),$str);
}
}
return $str;
}
Mvh Bob