Hjelp med og legge inn utf-8 i mailform

knutarn

New Member
Hei. jeg sliter med at når php scripte mitt sender e-post. så blir det: (den tar ikke med ÆØÅ, og alle php filene er utf-8)


Sitat:

Produktnr: 100030
Beskrivelse: Brødvogn
MÃ¥l: 58x 62x 220
Antall: 1
Mottaker: øæ¨å


Kode:
PHP:
<?php 
if(isset($_POST['antall'])) { 
      
    //  
    // n 
    $email_to = "xxx@xxxxx.no"; 
    $email_fl = "xxxx@xxxxxl.com"; 
    // Produkt fra xxxxx info 
    // Her skriver du produktnr 
    $produktnr = "100030"; 
    // Her skriver du info om produkte 
    $info_anker_form = "Brødvogn til 4 kasser"; 
    // Her skriver mål som produkte har 
    $maal = "58x 62x 220"; 
      
    function died($error) { 
        
        echo "Sorry!, Noe feil med bestillingen skjema!. "; 
        echo "Disse feilene vises under.<br /><br />"; 
        echo $error."<br /><br />"; 
        echo "Vennligst gå tilbake og rette disse feilene.<br /><br />"; 
        die(); 
    } 
      
    // validation expected data exists 
    if(!isset($_POST['antall']) || 
    !isset($_POST['notat'])) { 
        died('Sorry er noe feil med bestilling skjema');        
    } 
      
    $antall = $_POST['antall']; // Må skrive antall 
    $notat = $_POST['notat']; // Må skrive en notat 
      
    $error_message = ""; 
    $string_exp = "/^[0-9]+$/"; 
  if(!preg_match($string_exp,$antall)) { 
    $error_message .= 'Antall du oppga synes ikke å være gyldig.<br />'; 
  } 
  if(strlen($notat) < 2) { 
    $error_message .= 'Mottaker er ugyldig! prøve på nytt<br />'; 
  } 
  if(strlen($error_message) > 0) { 
    died($error_message); 
  } 
    $email_message = "Bestilling\n\n"; 
      
    function clean_string($string) { 
      $bad = array("content-type","bcc:","to:","cc:","href"); 
      return str_replace($bad,"",$string); 
    } 
      
    $email_message .= "Produktnr: ".clean_string($produktnr)."\n"; 
    $email_message .= "Beskrivelse: ".clean_string($info_anker_form)."\n"; 
    $email_message .= "Mål: ".clean_string($maal)."\n"; 
    $email_message .= "Antall: ".clean_string($antall)."\n"; 
    $email_message .= "Mottaker: ".clean_string($notat)."\n"; 
      
// email header 
$headers = 'From: '.$email_fl."\r\n". 
'Reply-To: '.$email_fl."\r\n" . 
'X-Mailer: PHP/' . phpversion(); 
@mail($email_to, $produktnr, $email_message, $headers);   
?> 
  
<!-- Fedig bestilling vinduet --> 
  
Takk for bestillingen! Trykk <a href=XXXXXXXXXXX">HER</a> for og komme til homepage! 
  
<?php 
} 
?>

Noen som kan hjelpe meg med og legge inn utf-8 i koden?
 

drlinux

Konsulent i PHP og Linux
Bruk utf8_encode() / utf8_decode() på variablen, avhengig av om det skal kodes til eller fra utf8

Eks;

PHP:
$email_message .= "Mål: ".utf8_encode(clean_string($maal))."\n";

Dette har også litt med hvilket tegnsett som brukes i html-siden, som da nettleseren bruker. Det kan derfor være at det er utf8_decode() du skal bruke.
 

knutarn

New Member
utf8_decode() funket^^ eneste som ikke funker nå er $email_message .= "Mål:

"Å" på mål funker ikke. åsen skal jeg sette inn decoder der?

EDIT:

en ting til. er det mye jobb og få

PHP:
<!-- Fedig bestilling vinduet -->
 
Takk for bestillingen! Trykk <a href="http://www.xxxxxxx.xxxx/xxxx">HER</a> for og komme til homepage!

Automatisk blir videresendt? etter 2 sec
 
Sist redigert:
Topp