Avatar billede psykochicken Nybegynder
29. juni 2005 - 19:27 Der er 17 kommentarer og
1 løsning

Mailsender - forskel på FF og IE

Jeg har en php-mailsender, der virker fint. Når jeg sender mailen via FF vises æ,ø og å fint i mailen, men når jeg sender via IE bliver å til "Ã¥" og ø til "ø". Hvad kan jeg gøre ved det ?
Avatar billede schwarz84 Nybegynder
29. juni 2005 - 19:36 #1
Det lyder som bøvl med tegntabeller. Bruger du UTF-8 ét sted og ISO-8859-1 et andet?
Avatar billede psykochicken Nybegynder
29. juni 2005 - 20:03 #2
Har nu rettet, så der er samme tegnsæt - stadig samme resultat :o(
Avatar billede claus_joergensen Nybegynder
29. juni 2005 - 20:05 #3
Lyder stadigvæk som tegntabeller, prøv at vise din kode. Mener at man kan sende encoding med i php delen, nemlig.
Avatar billede psykochicken Nybegynder
29. juni 2005 - 20:16 #4
en simpel form:
<form name='popform' method='POST' action='pop.php'>
<textarea name='mes' rows='20' cols='75' readonly></textarea><br>
input type='submit' name='send' value='Send annoncen'>
<input type='button' value='Ret indtastning' onclick='self.close()'>
</form>

simpel mailsender:
<?php
    if (!empty($_POST['mes'])) {
      $headers="From: post@bolig6000.dk";
      $message="Annonce: ".$_POST['mes']."\n";
if(@mail("post@bolig6000.dk", "Annonce", $message, $headers)) {
        echo "blabla....noget..
    }
      else {
        echo "blabla...noget andet...   
    }
    else {
      echo "blabla....noget tredje...
    }
?>
Avatar billede claus_joergensen Nybegynder
29. juni 2005 - 20:19 #5
Ser alt dit html sådan ud ? så kunne det sagtens være problemet.

Prøv med korrekt html:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
  <head>
    <title> Standard HTML dokument </title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  </head>
  <body>
    <div>
      <form name='popform' method='POST' action='pop.php'>
        <div>
          <textarea name='mes' rows='20' cols='75' readonly></textarea>
          <br>
          input type='submit' name='send' value='Send annoncen'>
          <input type='button' value='Ret indtastning' onclick='self.close()'>
        </div>
      </form>
    </div>
  </body>
</html>

--

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> angiver hvilket format browseren skal skrive i, og for IE gælder det sikkert også <textarea>'s :)
Avatar billede psykochicken Nybegynder
29. juni 2005 - 20:19 #6
Siden med formen er en popup genereret med javascript, hvor indholdet i <textarea> er de samlede indtastninger i en form på opener-siden.
I Popupen kan brugeren så godkende/sende sin indtastning eller gå tilbage og ændre indtastningerne.
Avatar billede psykochicken Nybegynder
29. juni 2005 - 20:24 #7
min html ser nøjagtigt ud som den du lige har beskrevet:

Du får lige scriptet, der genererer siden:
function vis() {
var f = document.forms['annonce']
  txt = "<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>";
  txt += "<html><head>";
  txt += "<meta http-equiv='Content-Type' content='text/html; charset=\"iso-8859-1\"'>";
  txt = "</head><body bgcolor='#e0e0e0'>";
  txt += "<form name='popform' method='POST' action='pop.php'>";
  txt += "<textarea name='mes' rows='20' cols='75' readonly>";
  txt += "Hej " + f.navn.value + " - Du har indtastet flg:" + "\n\n";
  txt += "Kundenummer: " + f.knr.value + "\n\n";
  txt += "Annonceoverskrift: " + f.overskrift.value + "\n\n";
  txt += "Navn: " + f.navn.value + " - " + f.visnavn.value + "\n";
  txt += "Adresse: " + f.adresse.value + " " + f.by.value + " - " + f.visby.value + "\n";
  txt += "E-mail: " + f.mail.value + " - " + f.vismail.value + "\n";
  txt += "Telefon: " + f.telefon.value + " - " + f.vistelefon.value + "\n";
  txt += "Mobil:  " + f.mobil.value + " - " + f.vismobil.value + "\n\n";
  txt += "Beskrivelse af lejemålet: \n";
  txt += "Adresse: " + f.lejeadr.value + " " + f.lejeby.value + "\n";
  txt += "Type lejemål:  " + document.getElementById('typ1').value + "" + document.getElementById('typ2').value + "" + document.getElementById('typ3').value + "" + document.getElementById('typ5').value + "\n";
  txt += "Ledig fra: " + f.ledig.value + "\n";
  txt += "M2: " + f.m2.value + "\n";
  txt += "Etage: " + f.sal.value + "\n"
  txt += "Rum (excl. køkken og bad):  " + f.rum.value + "\n";
  txt += "Afstand til centrum:  " + f.centrum.value + "\n";
  txt += "Afstand til indkøb:  " + f.indkoeb.value + "\n";
  txt += "Afstand til skole:  " + f.skole.value + "\n";
  txt += "Mulighed for tøjvask:  " + document.getElementById('vask1').value + "" + document.getElementById('vask2').value + "\n";
  txt += "Køkken: " + document.getElementById('koek1').value + "" + document.getElementById('koek2').value + "" + document.getElementById('koek3').value + "\n";
  txt += "Bad/toilet:  " + document.getElementById('bad1').value + "" + document.getElementById('bad2').value + "" + document.getElementById('bad3').value + "\n";
  txt += "Husdyr tilladt:  " + document.getElementById('dyr1').value + "" + document.getElementById('dyr2').value + "\n";
  txt += "Kabeltv-signal:  " + document.getElementById('tv1').value + "" + document.getElementById('tv2').value + "\n";
  txt += "Stofanet:  " + document.getElementById('stofa1').value + "" + document.getElementById('stofa2').value + "\n";
  txt += "Indskud:  " + f.indskud.value + "\n";
  txt += "Leje/md (-aconto forbrug):  " + f.leje.value + "\n";
  txt += "Aconto forbrug/md:  " + f.forbrug.value + "\n\n";
  txt += "Beskrivelse:  \n" + f.beskriv.value + "\n\n";
  txt += "billedtekst 1:  " + f.tekst1.value + "\n";
  txt += "billedtekst 2:  " + f.tekst2.value + "\n";
  txt += "billedtekst 3:  " + f.tekst3.value + "\n";
  txt += "billedtekst 4:  " + f.tekst4.value + "\n\n";
  txt += "</textarea>" + "<br>";
  txt += "<input type='submit' name='send' value='Send annoncen'>" + "  ";
  txt += "<input type='button' value='Ret indtastning' onclick='self.close()'>";
  txt += "</form></body></html>";
  pop = window.open('','win','width=800, height=400, scrollbar=yes');
  pop.document.open();
  pop.document.write(txt);
  pop.document.close();
  }
Avatar billede psykochicken Nybegynder
29. juni 2005 - 20:25 #8
Siden genereres fint og sendes uden problemer i FF.
I IE genereres den også fint, men sender altså ikke æ, ø og å !
Avatar billede claus_joergensen Nybegynder
29. juni 2005 - 20:28 #9
hmm, hvordan ser outputtet ud ? hvis du højreklikker og vælger "vis kilde".

Det kunne måske også være fordi at æøå genereres forkert (IE er mystisk)
Avatar billede schwarz84 Nybegynder
29. juni 2005 - 20:35 #10
Hvilken tegntabel er din scriptfil gemt med?
Avatar billede psykochicken Nybegynder
29. juni 2005 - 20:43 #11
Outputtet i popupen ser fint ud begge steder. I kildekoden både i IE og FF vises ø som ø og å som å - først når mailen sendes fra IE går det galt med ø og å.
Avatar billede psykochicken Nybegynder
29. juni 2005 - 20:47 #12
>>schwarts: også med charset:"iso-8859-1"
Avatar billede schwarz84 Nybegynder
29. juni 2005 - 22:20 #13
Hvad hvis du erstatter: 
txt += "<meta http-equiv='Content-Type' content='text/html; charset=\"iso-8859-1\"'>";
med:
txt += "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\">";
?
Avatar billede psykochicken Nybegynder
29. juni 2005 - 23:48 #14
Det giver desværre samme resultat :o(
Avatar billede psykochicken Nybegynder
30. juni 2005 - 03:45 #15
Som I sikket har gættet ved jeg meget lidt om php, men jeg har leget lidt med encode/decode efter at have læst http://dk2.php.net/manual/en/function.utf8-decode.php :
ved - $message = $_POST['mes']; virker FF, men IE-mailen fejler
ved - $message = utf8_encode($_POST['mes']); fejler både IE og FF (og forskelligt)
ved - $message = utf8_decode($_POST['mes']); virker IE, men FF fejler.

Kan man lave et browsercheck,
- så FF anvender $message = $_POST['mes'];
- og IE anvender $message = utf8_decode($_POST['mes']);

?-)
Flemming
Avatar billede psykochicken Nybegynder
30. juni 2005 - 17:05 #16
Jeg bliver nødt til at lade spørgsmålet ligge lige nu.
Tak for budene.
>>claus_joergensen du bragte mig på sporet af encoding, så jeg lærte noget nyt. Pointene er dine, hvis du vil have dem :0)
Avatar billede psykochicken Nybegynder
02. juli 2005 - 20:30 #17
ok - ingen vil have point....tak for hjælpen alligevel :)
Avatar billede psykochicken Nybegynder
02. juli 2005 - 20:31 #18
.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester