Kjapp og trygg hosting for Wordpress

æøå - ÆØÅ i php mail form

Tonny Kluften

Administrator
Får ikke æøå i tilsendt mail. Hvor i koden under setter jeg inn noe sånt som dette:
$header .= "Content-Type: text/plain; charset=\"UTF-8\"";

else{
$where_form_is="http".($HTTP_SERVER_VARS["HTTPS"]=="on"?"s":"")."://".$SERVER_NAME.strrev(strstr(strrev($PHP_SELF),"/"));
$message="bok1: ".$bok1."
ant: ".$ant."
bo2: ".$bo2."
ant2: ".$ant2."
nav: ".$nav."
adr: ".$adr."
postnr: ".$postnur."
poststd: ".$poststd."
epost: ".$epost."
tlf: ".$tlf."
kommentarer: ".$kommentarer."
";
$message = stripslashes($message);
mail("tonny@tonny.no","Bestilling hos Hompedalen Glass",$message,"From: Hompedalen Glass");
 
Sist redigert:

Tonny Kluften

Administrator
Skogtrollet, hvor setter du inn det der? Saaakte er du snill :D

<?php
include("global.inc.php");
$errors=0;
$error="The following errors occured while processing your form input.<ul>";
pt_register('POST','bok1');
pt_register('POST','antall1');
pt_register('POST','bok2');
pt_register('POST','antall2');
pt_register('POST','navn');
pt_register('POST','adresse');
pt_register('POST','postnummer');
pt_register('POST','poststed');
pt_register('POST','epost');
pt_register('POST','tlf');
pt_register('POST','kommentar');
$kommentar=preg_replace("/(\015\012)|(\015)|(\012)/","&nbsp;<br />", $kommentar);if($navn=="" || $adresse=="" || $postnummer=="" || $poststed=="" || $epost=="" || $tlf=="" ){
$errors=1;
$error.="<li>Du fyllte ikke ut et påkrevet felt. Klikk tilbake og prøv en gang til.";
}
if(!eregi("^[a-z0-9]+([_\\.-][a-z0-9]+)*" ."@"."([a-z0-9]+([\.-][a-z0-9]+)*)+"."\\.[a-z]{2,}"."$",$epost)){
$error.="<li>Invalid email address entered";
$errors=1;
}
if($errors==1) echo $error;
else{
$where_form_is="http".($HTTP_SERVER_VARS["HTTPS"]=="on"?"s":"")."://".$SERVER_NAME.strrev(strstr(strrev($PHP_SELF),"/"));
$message="bok1: ".$bok1."
antall1: ".$antall1."
bok2: ".$bok2."
antall2: ".$antall2."
navn: ".$navn."
adresse: ".$adresse."
postnummer: ".$postnummer."
poststed: ".$poststed."
epost: ".$epost."
tlf: ".$tlf."
kommentar: ".$kommentar."
";
$message = stripslashes($message);
mail("tonny@tonny.no","Bestilling hos Hompedalen Glass",$message,"From: Hompedalen Glass");
?>
 

Zolic

Medlem
Slik her setter du inn UTF-8, men det er ikke ideelt, mangler en del headers for at den ikke skal haven i spam(om det skulle blitt brukt andre steder)
Det vil vel faktisk også kreve at selve siden hvor formet er er lagret i UTF-8

Kode:
<?php
	include("global.inc.php");
	$errors=0;
	$error="The following errors occured while processing your form input.<ul>";
	pt_register('POST','bok1');
	pt_register('POST','antall1');
	pt_register('POST','bok2');
	pt_register('POST','antall2');
	pt_register('POST','navn');
	pt_register('POST','adresse');
	pt_register('POST','postnummer');
	pt_register('POST','poststed');
	pt_register('POST','epost');
	pt_register('POST','tlf');
	pt_register('POST','kommentar');
	$kommentar=preg_replace("/(\015\012)|(\015)|(\012)/","&nbsp;<br />", $kommentar);
	
	if($navn=="" || $adresse=="" || $postnummer=="" || $poststed=="" || $epost=="" || $tlf=="" ){
		$errors=1;
		$error.="<li>Du fyllte ikke ut et påkrevet felt. Klikk tilbake og prøv en gang til.";
	}
	if(!eregi("^[a-z0-9]+([_\\.-][a-z0-9]+)*" ."@"."([a-z0-9]+([\.-][a-z0-9]+)*)+"."\\.[a-z]{2,}"."$",$epost)){
		$error.="<li>Invalid email address entered";
		$errors=1;
	}
	if($errors==1) echo $error;
	else{
		$where_form_is="http".($HTTP_SERVER_VARS["HTTPS"]=="on"?"s":"")."://".$SERVER_NAME.strrev(strstr(strrev($PHP_SELF) ,"/"));
		$message="bok1: ".$bok1."
		antall1: ".$antall1."
		bok2: ".$bok2."
		antall2: ".$antall2."
		navn: ".$navn."
		adresse: ".$adresse."
		postnummer: ".$postnummer."
		poststed: ".$poststed."
		epost: ".$epost."
		tlf: ".$tlf."
		kommentar: ".$kommentar."
		";
		$message = stripslashes($message);
		
		$headers = "From: Hompedalen Glass \n";
		$headers .= "Content-Type: text/plain; charset=UTF-8\n\n";
		
		mail("tonny@tonny.no","Bestilling hos Hompedalen Glass",$message,$headers);
	}
?>

Det skogstrollet snakker om ville blitt noe som dette:
Kode:
mail("tonny@tonny.no","Bestilling hos Hompedalen Glass", utf8_decode($message),"From: Hompedalen Glass");
 

Zolic

Medlem
utf8_encode, ikke decode.
Jeg tolket det skogstrollet skrev som at en skulle slippe å sette header med utf-8 :)

Men du har selvfølgelig helt rett at en må encode det for å få i utf-8, men dette er et steg jeg ikke tror trengs om php håndterer dataen som utf-8 allerede, da vil jo datastrømmen som sendes til e-posten komme i utf-8 (?)
 

jagarock

Information Research & Analytics
nekrobump.

dette her plager meg også grensesløst.

<?=mail("min@epost.no","HåHåå!","øæååå","From: Håvard <håvard@åge.no>\r\nContent-Type: text/plain; charset=UTF-8\r\n"); ?>

filen er lagret i UTF-8. alikevel vil det ikke funke i outlook, bare en haug med rare tegn.

i gmail sin webapp funker det derimot strålende.

jeg vil bare ha noe som funker overalt, det kan da ikke være så sinnsykt vanskelig?!
 
Topp