Modtager af emails fra kan ikke læse æøå
Hej udvikleren
Jeg er rendt ind i noget af problem som er ved at gøre mig sindssyg.
Jeg har en hjemmeside som er hostet hos Surftown.
Her sælger jeg tøj og har ligeledes til dette formål sat en login-side op som bliver tjekket op imod en database jeg har. Hvis brugeren findes i databasen bliver han sendt videre til en bestillingsside hvor han kan bestille hvad han skal bruge. Når han så er færdig trykker han send ordre.
Ordren bliver så sendt til min mail og til en medarbejders mail, sådan at vi kan eksekvere den fysiske ordre. Problemet er dog at hvor jeg fint kan se æøå i mailen, så kan min medarbejder det ikke. Det skal siges at den mail jeg bruger er en gmail og den mail min medarbejder bruger er en mail oprettet i domænet.
Jeg har været utallige guides igennem hvor folk siger at man skal vælge om man vil bruge utf-8 eller iso-8859-1, men at det som sådan ikke gør nogen forskel bare man er konstant.
Jeg har nu minutiøst været alle sider og databasen igennem og sørget for at det hele står til utf-8, men alligevel har min medarbejder problemer med æøå. Det har ledt mig til at tro at det må være noget hos surftown og mails der er hostet hos surftown som ikke duer med utf-8 eller noget i den stil.
Jeg skriver her nogle nyttige info:
Info fra databasen:
[img]
http://imageshack.us/photo/my-images/140/skrmbillede20120530kl10.png/[/img][img]
http://imageshack.us/photo/my-images/689/skrmbillede20120530kl10.png/[/img]Her bliver login tjekket:
- <?php
- session_start();
- $host="mydbb10.surftown.dk"; // Host name
- $username="***"; // Mysql username
- $password="***"; // Mysql password
- $db_name="***_members"; // Database name
- $tbl_name="members"; // Table name
-
- // Connect to server and select databse.
- $conn = mysql_connect("$host", "$username", "$password")or die("cannot connect");
- mysql_select_db("$db_name")or die("cannot select DB");
- mysql_set_charset('utf8',$conn);
- // username and password sent from form
- $myusername=$_POST['myusername'];
- $mypassword=$_POST['mypassword'];
- // To protect MySQL injection (more detail about MySQL injection)
- $myusername = stripslashes($myusername);
- $mypassword = stripslashes($mypassword);
- $myusername = mysql_real_escape_string($myusername);
- $mypassword = mysql_real_escape_string($mypassword);
- $sql="SELECT * FROM $tbl_name WHERE username='$myusername' and password='$mypassword'";
- $result=mysql_query($sql);
- // Mysql_num_row is counting table row
- $count=mysql_num_rows($result);
- // If result matched $myusername and $mypassword, table row must be 1 row
- if($count==1){
- // Register $myusername, $mypassword and redirect to file "forhandleservice.php"
- while($row = mysql_fetch_assoc($result))
- {
- $_SESSION['id'] = $row['id']; //Jeg går ud fra du har en id for brugeren
- $_SESSION['name'] = $row['name'];
- $_SESSION['username'] = $row['username'];
- }
-
- header("location: ../forhandlerservice.php");
- }
- else {
- header("location: ../loginfejl.html");
- }
- ?>
--------------------------------------------------------------------------------
Hvis login er korrekt bliver man sendt til forhandlerservice, hvor man bliver sendt videre til en unik kundeside afhængig af login. Her kan kunden så bestille hvad han skal bruge. Dette foregår i form-tabeller hvor hver tabel er defineret ved en variabel. Når kun er færdig trykker han send ordren og variablerne bliver så ført over i følgende kode, hvor mailen/ordren bliver eksekveret:
- <?
- session_start();
- if(isset($_SESSION['id'])){
- $userid = $_SESSION['id'];
- $username = $_SESSIO['username'];
- $name = $_SESSION['name'];
- } else
- {
- header("location:login.html");
- }
- if($_SESSION['id'] == '39')
- header("location: ../forhandler2.php");
- elseif($_SESSION['id'] == '46')
- header("location: ../forhandler3.php");
- else
- header("location: ../forhandler1.php");
- ?>
--------------------------------------------------------------------------------
Her er noget af koden fra forhandler1.php:
- <?php
- session_start();
- if(isset($_SESSION['id'])){
-
- ///////Så kommer der en masse variabler her som er blevet ført over fra selve bestillingssiden
- ///////
- ///////
-
- ?>
-
- <?
- $modtager="***@gmail.com,***@domæne.dk"; //Hvem skal have mailen?
-
-
-
- $emne="*** Ordre"; //Emnefeltet
-
-
- $besked="Denne ordre er afgivet af: *** - "
- .$name.
-
- "\nPerson: "
- .$bestnavn.
-
- "\nTelefon: "
- .$tlf.
-
- /////Her kommer der så de samme variabler opstillet på en ordenlig måde
- /////
- /////
-
- $header= "MIME-Version: 1.0" . "\r\n";
- $header .= "Content-type: text/plain; charset=utf-8" . "\r\n";
-
-
-
- $sentmail= mail($modtager,$emne,$besked,$header); //Send!!
-
-
-
- header("location:takforordren.php");
- }
- else
- {
- header("location:login.html");
- }
- ?>
Jeg ville gerne vise jer alle mine undersider men der er for mange, så her må I stole på at de alle er sat til utf-8. Jeg tror imidlertid også det er her problemet ligger, at det hele muligvis skal være iso-8859-1, men jeg ved det ikke.
Håber der er nogen der kan hjælpe mig med at komme det her problem til livs.