Gå til innhold

[Løst] Hjelp til æ, ø, og å i avsender og emne i PHP mail


Anbefalte innlegg

Jeg ønsker å få Æ, Ø og Å i adressefelt og emnetittel i eposter.


Selve PHP filen er lagret i UTF-8 og i mail header blir det spesifisert UTF-8 karakterer. Jeg hadde tidligere et problem at også innholdet i eposten ble vist i ISO karakterer, det er fikset på og løsningen min er kommentert nederst.


Problemet mitt er i grunn at det bare er Outlook som ikke konverterer Æ, Ø og Å karakterer riktig. Ø blir f.eks. ø.


Alt jeg har er lagret i UTF-8:

  • TEXT i SQL databasen er lagret i utf8_general_ci.
  • PHP filen er i UTF-8.
  • PHP mail header spesifiserer UTF-8.

I headeren har jeg:

$header = "MIME-version: 1.0\r\n";

$header .= "Content-Type: text/HTML; charset=UTF-8\r\n";

$header .= "Content-Transfer-Encoding: 8bit\r\n";

$header .= "Content-Language: no-bok, no-nyn\r\n";


Hvordan får man Æ, Ø og Å i PHP mail header?



[Problem 1]: For andre som har samme problemet så ble løsningen min å endre kolonnene i databasen fra VARCHAR til TEXT. Dette løste problemet med at innholdet ble vist som ISO karakterer.


[Problem 2]: Avsender og emnetittel ble korrekte etter at jeg brukte en base64 encoding.

F.eks. $navn = "=?UTF-8?B?".base64_encode("navnet")."?=";

Endret av Jan William
Lenke til kommentar
  • 2 uker senere...
Videoannonse
Annonse

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...