Avatar billede jih Nybegynder
26. juni 2004 - 02:30 Der er 22 kommentarer og
1 løsning

brug af danske/færøske bogstaver i mail

hey... har lavet et lille script som skal sende information til en via email, men jeg kan ikke helt forstå hvorfor det ikke vil skrive danske/færøske bogstaver med... hvis jeg fx skriver "Bústaður" i mit "bustadur" textfield, står der Bústaður: B(mærkeligt tegn)sta(mærkeligt tegn)ur.... kan man ikke lave om på det eller noget ? koden er her:

---

<?php
  $navn = $_POST['navn'];
  $bustad = $_POST['bustadur'];
  $tlf = $_POST['tlf'];
  $dato = $_POST['dato'];
  $email = $_POST['email'];
  $limur = $_POST['limur'];
  $address = "WebPsycho_@hotmail.com";
  $title = "Tilmelding";
  $message = "Tað er komin ein limur aftrat. Upplýsningar eru sum fylgjandi:\n\nNavn: $navn\nBústaður: $bustad\nTlf. Nr.: $tlf\nFøðingardato: $dato\nT-Post adressa: $email\n\n$navn vil gjarna vera $limur";
  mail($address, $title, $message);
?>
Avatar billede dennismp Nybegynder
26. juni 2004 - 02:33 #1
prøv at tilføje:

$header = "Content-Type: text/plain; format=flowed; charset=iso-8859-15\r\nContent-Transfer-Encoding: 8bit\r\n";

og så
mail($address, $title, $message, $header);
Avatar billede jih Nybegynder
26. juni 2004 - 19:01 #2
nej.... samme resultat... =S her er hvad der står i e-mailen:
der hvor fejlen er, er i variablerne... fx her:

Bústaður: Bústaður
Føðingardato: Føðingardato

håber det kan blive rettet op på..?
Avatar billede jih Nybegynder
26. juni 2004 - 19:05 #3
hmmm.... "her er hvad der står i e-mailen:" skulle ikke stå der... troede jeg slettede det... my bad ;-P
Avatar billede dennismp Nybegynder
26. juni 2004 - 19:40 #4
hm.. prøv at sende en mail med de tegn du har problemer med til dig selv. Kig i sourcen af emailen og se hvilke headers den har sat for at det virker.. Og så evt tilføje de relevante til $headers
Avatar billede jih Nybegynder
26. juni 2004 - 19:47 #5
øh... nu er jeg ikke på det helt avancerede niveau indenfor PHP..... hvordan gør jeg det? =S den har ikke noget imod at skrive á, ð, é, í, ó, ú, ý, æ, ø og å.... kun lige når det står i en variabel...
Avatar billede dennismp Nybegynder
26. juni 2004 - 19:57 #6
Jeg tror ikke problemet er variablen - men at mail() ikke indeholder nok oplysninger (headers) til at din mailklient kan få vist det rigtigt.

Hvis det er, så kan du bare sende en tekst-email til mig med de karakter (fra dit mailprogram) - så kan jeg prøve at se hvilke header der måske kan hjælpe dig. Min email er dennis@moellegaard.dk
Avatar billede jih Nybegynder
26. juni 2004 - 20:00 #7
hmmm... prøv og gå ind på http://webpsycho.users.whitehat.dk/fridarbogin/ og tryk på "Tilmelding" i menuen... jeg har programmeret det til at sende emailen til dig... så kan du se hvad jeg mener... hvis du udfylder formen og trykker "Tilmelda"...
Avatar billede dennismp Nybegynder
26. juni 2004 - 20:08 #8
prøv:
<?php
  $navn = $_POST['navn'];
  $bustad = $_POST['bustadur'];
  $tlf = $_POST['tlf'];
  $dato = $_POST['dato'];
  $email = $_POST['email'];
  $limur = $_POST['limur'];
  $address = "WebPsycho_@hotmail.com";
  $title = "Tilmelding";
  $header = 'Content-Transfer-Encoding: base64';
  $message = "Tað er komin ein limur aftrat. Upplýsningar eru sum fylgjandi:\n\nNavn: $navn\nBústaður: $bustad\nTlf. Nr.: $tlf\nFøðingardato: $dato\nT-Post adressa: $email\n\n$navn vil gjarna vera $limur";
  $message = chunk_split(base64_encode($message));

  mail($address, $title, $message, $header);
?>
Avatar billede jih Nybegynder
26. juni 2004 - 20:16 #9
Samme resultat.. Det virker ikke.. Andre forslag? ;-P
Avatar billede dennismp Nybegynder
26. juni 2004 - 20:30 #10
gider du at smide en mail til mig fra dit script? (bare udfyld det for mig).

evt også send en almindelig mail med de karakter (fra dit mailprogram) - så jeg kan se en "rigtig" og en "forkert" email..
Avatar billede jih Nybegynder
26. juni 2004 - 20:34 #11
nu har jeg så sendt 2 mails til dig.... en hvor alle textfieldene indeholder "áéýúíóæøåð" og en "rigtig", hvor der bare er nogle fejl i, fordi den ikke gider acceptere de bogstaver...
Avatar billede dennismp Nybegynder
26. juni 2004 - 20:39 #12
Er begge mails ikke sendt fra dit script?

Prøv at maile mig (fra dit eget email program eller hotmail.. ) en mail med dine bogstaver :) (ikke dit script).. Jeg kan ikke genskabe problemet her, nemlig :(
Avatar billede jih Nybegynder
26. juni 2004 - 20:39 #13
oooh... forstår... :-) - sender..
Avatar billede jih Nybegynder
26. juni 2004 - 20:42 #14
så... er sendt :)
Avatar billede dennismp Nybegynder
26. juni 2004 - 20:49 #15
Kan ikke se noget specielt. Gad vide om det er et opsætningsproblem hos whitehat?..

Prøv med følgende header (og uden chunk_split(base64....)

$header = "Content-Type: text/plain; charset=ISO-8859-1\r\nContent-Transfer-Encoding: 7bit\r\n";

.. hvis det ikke virker

$header = "Content-Transfer-Encoding: quoted-printable\r\n";
$message = imap_8bit($message);

Det er kun idéer - er ikke sikker på at det hjælper, men det er da et forsøg værd.
Avatar billede jih Nybegynder
26. juni 2004 - 21:04 #16
ikke for noget, men hvad er det "\r" betyder ? bare lige for at vide det :)
Avatar billede dennismp Nybegynder
26. juni 2004 - 21:11 #17
\r=Carriage Return.
\n=Linefeed

Man skal bruge begge når det gælder mail :-).

Det betyder egentlig bare linjeskift, men hver platform har deres egen idé om hvordan man laver et linjeskift:

Windows: \r\n
Unix: \n
Mac: \r

Men de fleste mailsystemer er fleksibel nok til at virke selvom man glemmer \r eksempelvis.
Avatar billede jih Nybegynder
26. juni 2004 - 21:20 #18
nå ok.... jeg bruger så aldrig "\r" ;-P men for at komme tilbage til emnet:

den første idé du kom med hjalp ikke noget.... desværre... og den anden.... der siger den bare:

Fatal error: Call to undefined function: imap_8bit() in /usr/home/whitehat_dk/users/webpsycho/fridarbogin/melda.php on line 19
Avatar billede dennismp Nybegynder
26. juni 2004 - 21:40 #19
Har ikke lige flere ideer.. måske kunne du skrive i whitehats forum og se om andre har problemer (hvis det også gælder æøå, så burde der da være andre der har samme problem). Du må meget gerne poste her, hvis du finder ud af noget..
Avatar billede jih Nybegynder
15. august 2004 - 00:43 #20
hmm... de bad mig søge på google .... det godt nok lang tid for at få et svar, men jaja ... jeg takker for hjælpen .... (en skrev "jeg anbefaler du tager en google efter "phpmailer"")
hvis du lige smider et svar, får du dine points
Avatar billede dennismp Nybegynder
15. august 2004 - 01:31 #21
Måske skulle du prøve i en nyhedsgruppe - eller måske nogle af de internationale forums på nettet. Der må være andre der har forstand på dette :)
Avatar billede jih Nybegynder
08. september 2004 - 21:34 #22
True .... det må jeg lige finde ud af så ... Har ikke lige internet for tiden, så jeg har ikke haft mulighed for at svare her .. men svaret kom så nu ;-)

tak for hjælpen..!-)
Avatar billede arne_v Ekspert
08. september 2004 - 21:56 #23
MIME headerne skal være:

MIME-version: 1.0
Content-Type: text/plain; Charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

og så skal mailen encodes som quote printable (og det er vistnok mime_8bit).

Det skal virke på den måde. Der bliver sendt milliarder af emails med
det hver dag.

Det er en overtrædelse af SMTP standarden at sende uencoded 8 bit
karakterer.

Og base64 er til attachements.
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