/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Charset i php mailform
Fra : Karl Erik Christense~


Dato : 05-09-10 11:11

Bliver snart vanvittig

Jeg har lavet en php-mailform, men bøvler med at få den til at vise æøå
i den mail den sender.
Med "<form accept-charset='CP1252'"> vises æøå korrekt i alle browsere
på Linux, og alle browsere på Windows(XP) _pånær_ Internet Explorer
(selvfølgelig).
Siden som formen er på indeholder <meta http-equiv="Content-Type"
content="text/html; charset=utf-8" /> - og det kan ikke ændres (af flere
grunde).

Hvad mon jeg har overset?

Formens grundlag: http://www.w3schools.com/php/php_secure_mail.asp

Min form: http://www.tyveri-check.dk/kontakt.php

Den rette løsning belønnes

--
Karl Erik.
http://www.ranunkelvej.com
http://www.tyveri-check.dk - Snyd tyven før han snyder dig!

 
 
Keld Rosenkrantz (05-09-2010)
Kommentar
Fra : Keld Rosenkrantz


Dato : 05-09-10 12:22

On Sun, 05 Sep 2010 12:11:27 +0200, Karl Erik Christensen
<karlerik@none.invalid.com> wrote:

>Bliver snart vanvittig
>
>Jeg har lavet en php-mailform, men bøvler med at få den til at vise æøå
>i den mail den sender.
>Med "<form accept-charset='CP1252'"> vises æøå korrekt i alle browsere
>på Linux, og alle browsere på Windows(XP) _pånær_ Internet Explorer
>(selvfølgelig).
>Siden som formen er på indeholder <meta http-equiv="Content-Type"
>content="text/html; charset=utf-8" /> - og det kan ikke ændres (af flere
>grunde).
>
>Hvad mon jeg har overset?
>
>Formens grundlag: http://www.w3schools.com/php/php_secure_mail.asp
>
>Min form: http://www.tyveri-check.dk/kontakt.php
>
>Den rette løsning belønnes

Prøv at ændre din kontakt.php til at være i UTF-8 format
--
Keld Rosenkrantz
Få dit gratis webhotel på www.splinternet.dk
Selvfølgelig med fuld support samt flere
muligheder end du betaler for andre steder

Karl Erik Christense~ (05-09-2010)
Kommentar
Fra : Karl Erik Christense~


Dato : 05-09-10 15:05

On 05-09-2010 13:22, Keld Rosenkrantz wrote:

>
> Prøv at ændre din kontakt.php til at være i UTF-8 format

Siden er jo utf-8.

Hvis du mener: <form accept-charset='utf-8'> så er det prøvet. Da sender
alle browsere volapyk.

--
Karl Erik.
http://www.ranunkelvej.com
http://www.tyveri-check.dk - Snyd tyven før han snyder dig!

Keld Rosenkrantz (05-09-2010)
Kommentar
Fra : Keld Rosenkrantz


Dato : 05-09-10 15:22

On Sun, 05 Sep 2010 16:05:00 +0200, Karl Erik Christensen
<karlerik@none.invalid.com> wrote:

>On 05-09-2010 13:22, Keld Rosenkrantz wrote:
>
>>
>> Prøv at ændre din kontakt.php til at være i UTF-8 format
>
>Siden er jo utf-8.
>
>Hvis du mener: <form accept-charset='utf-8'> så er det prøvet. Da sender
>alle browsere volapyk.
Nej, jeg mener at kontakt.php filen skal være i UTF-8 format, den er
sikkert i DOS/UNIX/MAC format... UTF-8 formatet er dobbelt antal
karakterer..

--
Keld Rosenkrantz
Få dit gratis webhotel på www.splinternet.dk
Selvfølgelig med fuld support samt flere
muligheder end du betaler for andre steder

Karl Erik Christense~ (05-09-2010)
Kommentar
Fra : Karl Erik Christense~


Dato : 05-09-10 16:19

On 05-09-2010 16:22, Keld Rosenkrantz wrote:

> Nej, jeg mener at kontakt.php filen skal være i UTF-8 format, den er
> sikkert i DOS/UNIX/MAC format... UTF-8 formatet er dobbelt antal
> karakterer..
>

Det vil da se tosset ud

--
Karl Erik.
http://www.ranunkelvej.com
http://www.tyveri-check.dk - Snyd tyven før han snyder dig!

Keld Rosenkrantz (05-09-2010)
Kommentar
Fra : Keld Rosenkrantz


Dato : 05-09-10 17:57

On Sun, 05 Sep 2010 17:18:46 +0200, Karl Erik Christensen
<karlerik@none.invalid.com> wrote:

>On 05-09-2010 16:22, Keld Rosenkrantz wrote:
>
>> Nej, jeg mener at kontakt.php filen skal være i UTF-8 format, den er
>> sikkert i DOS/UNIX/MAC format... UTF-8 formatet er dobbelt antal
>> karakterer..
>>
>
>Det vil da se tosset ud
Hvad vil se tosset ud?
Med den rigtige editor opdager du intet
--
Keld Rosenkrantz
Få dit gratis webhotel på www.splinternet.dk
Selvfølgelig med fuld support samt flere
muligheder end du betaler for andre steder

Keld Rosenkrantz (05-09-2010)
Kommentar
Fra : Keld Rosenkrantz


Dato : 05-09-10 18:53

On Sun, 05 Sep 2010 17:18:46 +0200, Karl Erik Christensen
<karlerik@none.invalid.com> wrote:

>On 05-09-2010 16:22, Keld Rosenkrantz wrote:
>
>> Nej, jeg mener at kontakt.php filen skal være i UTF-8 format, den er
>> sikkert i DOS/UNIX/MAC format... UTF-8 formatet er dobbelt antal
>> karakterer..
>>
>
>Det vil da se tosset ud
Et eksempel på forskellen..

I normal ren ascii ser æøå sådan ud i HEX tegn
æøå
e6 f8 e5
Men er det i UTF-8 format ser det således ud.
C3 a6 c3 b8 c3 a5

Selve encodingen gør at der skal 2 tegn til når det er UTF-8
Så det ser tosset ud når man ikke holder sig til UTF-8 konsekvent og
det er det du oplever.
--
Keld Rosenkrantz
Få dit gratis webhotel på www.splinternet.dk
Selvfølgelig med fuld support samt flere
muligheder end du betaler for andre steder

Birger Sørensen (06-09-2010)
Kommentar
Fra : Birger Sørensen


Dato : 06-09-10 01:13

Keld Rosenkrantz udtrykte præcist:
> On Sun, 05 Sep 2010 17:18:46 +0200, Karl Erik Christensen
> <karlerik@none.invalid.com> wrote:
>
>> On 05-09-2010 16:22, Keld Rosenkrantz wrote:
>>
>>> Nej, jeg mener at kontakt.php filen skal være i UTF-8 format, den er
>>> sikkert i DOS/UNIX/MAC format... UTF-8 formatet er dobbelt antal
>>> karakterer..
>>>
>>
>> Det vil da se tosset ud
> Et eksempel på forskellen..
>
> I normal ren ascii ser æøå sådan ud i HEX tegn
> æøå
> e6 f8 e5
> Men er det i UTF-8 format ser det således ud.
> C3 a6 c3 b8 c3 a5
>
> Selve encodingen gør at der skal 2 tegn til når det er UTF-8
> Så det ser tosset ud når man ikke holder sig til UTF-8 konsekvent og
> det er det du oplever.

UTF-8 er en algoritme, der Konverterer til eller fra Unicode. Det er
ikke et karaktersæt.
UTF-8 anvender forskelligt byte-antal. Det specielle for UTF-8, i
forhold til UTF-16 eller UTF-32, er at encodede ASCII karakterer, er
mage til den oprindelige ASCII karakter. ÆØÅæøå er ikke del af standard
ASCII, men Extended ASCII ( der findes flere forskellige Extended ASCII
- M$ kaldte dem vist codepages i sin tid i Windoze) - og de skal derfor
både encodes og dekodes, for at få det rigtige resultat.
Og det er egentlig ret logisk, at hvis man kun encoder eller decoder,
får man vrøvl ud i den anden ende.

Birger

--
http://varmeretter.dk - billig, sund og hurtig mad
http://bbsorensen.dk



Birger Sørensen (05-09-2010)
Kommentar
Fra : Birger Sørensen


Dato : 05-09-10 20:13

Den 05-09-2010, skrev Keld Rosenkrantz:
> On Sun, 05 Sep 2010 16:05:00 +0200, Karl Erik Christensen
> <karlerik@none.invalid.com> wrote:
>
>> On 05-09-2010 13:22, Keld Rosenkrantz wrote:
>>
>>>
>>> Prøv at ændre din kontakt.php til at være i UTF-8 format
>>
>> Siden er jo utf-8.
>>
>> Hvis du mener: <form accept-charset='utf-8'> så er det prøvet. Da sender
>> alle browsere volapyk.
> Nej, jeg mener at kontakt.php filen skal være i UTF-8 format, den er
> sikkert i DOS/UNIX/MAC format... UTF-8 formatet er dobbelt antal
> karakterer..

UTF-8 er "flydende" byte antal.
http://en.wikipedia.org/wiki/UTF-8
Ikke lige sikker på at der er plads til "dobbelt antal karakterer"
(mener vist at det bliver noget mere), men det kommer nok an på hvad
man tager det i forhold til.
UTF = Unicode Transformation Format; altså ikke et karaktersæt, men en
transformations algoritme.

Birger

--
http://varmeretter.dk - billig, sund og hurtig mad
http://bbsorensen.dk



Keld Rosenkrantz (05-09-2010)
Kommentar
Fra : Keld Rosenkrantz


Dato : 05-09-10 20:23

On Sun, 05 Sep 2010 21:13:22 +0200, Birger Sørensen
<sdc@bbsorensen.com> wrote:


>UTF-8 er "flydende" byte antal.
>http://en.wikipedia.org/wiki/UTF-8
>Ikke lige sikker på at der er plads til "dobbelt antal karakterer"
>(mener vist at det bliver noget mere), men det kommer nok an på hvad
>man tager det i forhold til.
>UTF = Unicode Transformation Format; altså ikke et karaktersæt, men en
>transformations algoritme.
>
Enig men prøvede at fordanske det.
Kan huske for flere år tilbage da jeg for et hostingfirma skulle lave
muligheden oir at søge på IDN domæner kom ud i dette problem med UTF-8
som var nødvendigt hvia man skulle længere end bare æøå.
Faqndt ud ad at hvis man var konsekvent med UTF-8 selv i end koder på
serveren forsvandt ens problemer med hvordan siden så ud, æøå blev til
æøå hele tiden awlv output fra javascripta, så derfor er mit råd vil
du UTF-8 så lav alt i UTf-8.

--
Keld Rosenkrantz
Få dit gratis webhotel på www.splinternet.dk
Selvfølgelig med fuld support samt flere
muligheder end du betaler for andre steder

Birger Sørensen (05-09-2010)
Kommentar
Fra : Birger Sørensen


Dato : 05-09-10 18:15

Keld Rosenkrantz tastede følgende:
> On Sun, 05 Sep 2010 12:11:27 +0200, Karl Erik Christensen
> <karlerik@none.invalid.com> wrote:
>
>> Bliver snart vanvittig
>>
>> Jeg har lavet en php-mailform, men bøvler med at få den til at vise æøå
>> i den mail den sender.
>> Med "<form accept-charset='CP1252'"> vises æøå korrekt i alle browsere
>> på Linux, og alle browsere på Windows(XP) _pånær_ Internet Explorer
>> (selvfølgelig).
>> Siden som formen er på indeholder <meta http-equiv="Content-Type"
>> content="text/html; charset=utf-8" /> - og det kan ikke ændres (af flere
>> grunde).
>>
>> Hvad mon jeg har overset?
>>
>> Formens grundlag: http://www.w3schools.com/php/php_secure_mail.asp
>>
>> Min form: http://www.tyveri-check.dk/kontakt.php
>>
>> Den rette løsning belønnes
>
> Prøv at ændre din kontakt.php til at være i UTF-8 format

Hvordan en modtaget email vises, kommer vel an på hvilket email program
der forsøger at vise den - hvilket ikke har ret meget med browsere at
gøre.

utf8_decode() og utf8_encode()
http://dk2.php.net/manual/en/function.utf8-decode.php
http://dk2.php.net/manual/en/function.utf8-encode.php
kan hjælpe med at skifte frem og tilbage fra/til ISO-8859-1, hvis det
er der, problemet ligger.
Man kan også tilføje en header til emailen, der fortæller hvilket
karaktersæt der anvendes.
http://dk2.php.net/manual/en/function.mail.php

I øvrigt et område, der ikke er veldokumenteret, og ofte kræver en del
eksperimentering - og man må ofte slå sig til tåls med at det virker
for ens eget email program...

Birger

--
http://varmeretter.dk - billig, sund og hurtig mad
http://bbsorensen.dk



Karl Erik Christense~ (05-09-2010)
Kommentar
Fra : Karl Erik Christense~


Dato : 05-09-10 19:17

On 05-09-2010 19:15, Birger Sørensen wrote:

>
> Hvordan en modtaget email vises, kommer vel an på hvilket email program
> der forsøger at vise den - hvilket ikke har ret meget med browsere at gøre.
>
> utf8_decode() og utf8_encode()
> http://dk2.php.net/manual/en/function.utf8-decode.php
> http://dk2.php.net/manual/en/function.utf8-encode.php
> kan hjælpe med at skifte frem og tilbage fra/til ISO-8859-1, hvis det er
> der, problemet ligger.
> Man kan også tilføje en header til emailen, der fortæller hvilket
> karaktersæt der anvendes.
> http://dk2.php.net/manual/en/function.mail.php
>
> I øvrigt et område, der ikke er veldokumenteret, og ofte kræver en del
> eksperimentering - og man må ofte slå sig til tåls med at det virker for
> ens eget email program...
>
> Birger
>

Meddelelser sendt fra IE ser lige towlige ud i både Windows Mail og
Evolution mail på Linux.

En løsning der lå lige til højrebenet (tak til Birger), var:
$headers = 'Content-type: text/html; charset=iso-8859-1' . "\r\n";

Der er bare det men, at "Safe mode" er ON på mit hotel hos Unoeuro, så
det giver en fejlmeddelelse.

Så jeg tror jeg forsøger at leve med de underlige æ ø og å'er.

Det er jo trods alt kun de meddelelser der kommer fra IE

--
Karl Erik.
http://www.ranunkelvej.com
http://www.tyveri-check.dk - Snyd tyven før han snyder dig!

Keld Rosenkrantz (05-09-2010)
Kommentar
Fra : Keld Rosenkrantz


Dato : 05-09-10 18:21

On Sun, 05 Sep 2010 19:15:22 +0200, Birger Sørensen
<sdc@bbsorensen.com> wrote:

>Hvordan en modtaget email vises, kommer vel an på hvilket email program
>der forsøger at vise den - hvilket ikke har ret meget med browsere at
>gøre.
>
>utf8_decode() og utf8_encode()
>http://dk2.php.net/manual/en/function.utf8-decode.php
>http://dk2.php.net/manual/en/function.utf8-encode.php
>kan hjælpe med at skifte frem og tilbage fra/til ISO-8859-1, hvis det
>er der, problemet ligger.
>Man kan også tilføje en header til emailen, der fortæller hvilket
>karaktersæt der anvendes.
>http://dk2.php.net/manual/en/function.mail.php
>
>I øvrigt et område, der ikke er veldokumenteret, og ofte kræver en del
>eksperimentering - og man må ofte slå sig til tåls med at det virker
>for ens eget email program...
>
>Birger

Ja, men det hjælper nada hvis teksten der leveres ikke er UTF-8.
UTF-8 er noget anderledes end ren ascii....
Derfor er min anbefaling at kildekoden også er UTF-8 for at levere
UTF-8...
Ved af erfaring det kan løse nerop dette problem, er der f.eks.s en
skabelon involveret skal denne også være i UTF 8, ellers kan den vise
andre mærkelige tegn netop fordi at UTF-8 består af mere end en byte.

--
Keld Rosenkrantz
Få dit gratis webhotel på www.splinternet.dk
Selvfølgelig med fuld support samt flere
muligheder end du betaler for andre steder

Karl Erik Christense~ (07-09-2010)
Kommentar
Fra : Karl Erik Christense~


Dato : 07-09-10 00:11

On 05-09-2010 12:11, Karl Erik Christensen wrote:
> Bliver snart vanvittig
>
> Jeg har lavet en php-mailform, men bøvler med at få den til at vise æøå
> i den mail den sender.
> Med "<form accept-charset='CP1252'"> vises æøå korrekt i alle browsere
> på Linux, og alle browsere på Windows(XP) _pånær_ Internet Explorer
> (selvfølgelig).
> Siden som formen er på indeholder <meta http-equiv="Content-Type"
> content="text/html; charset=utf-8" /> - og det kan ikke ændres (af flere
> grunde).
>
> Hvad mon jeg har overset?
>
> Formens grundlag: http://www.w3schools.com/php/php_secure_mail.asp
>
> Min form: http://www.tyveri-check.dk/kontakt.php
>
> Den rette løsning belønnes
>

Fint nok med lange hypotetiske teorier om tegnsæt, men:

$message = utf8_decode($message);

did the trick.

Ja - så enkelt kunne det altså gøres.

Tak for jeres bidrag.

--
Karl Erik.
http://www.ranunkelvej.com
http://www.tyveri-check.dk - Snyd tyven før han snyder dig!

Karl Erik Christense~ (07-09-2010)
Kommentar
Fra : Karl Erik Christense~


Dato : 07-09-10 00:20

On 07-09-2010 01:10, Karl Erik Christensen wrote:

> Fint nok med lange hypotetiske teorier om tegnsæt, men:
>
> $message = utf8_decode($message);
>
> did the trick.
>
> Ja - så enkelt kunne det altså gøres.
>
> Tak for jeres bidrag.
>

PS. - så må jeg jo selv snuppe de 14 dages ophold på Hawaii, som var
belønningen

--
Karl Erik.
http://www.ranunkelvej.com
http://www.tyveri-check.dk - Snyd tyven før han snyder dig!

Søg
Reklame
Statistik
Spørgsmål : 177579
Tips : 31968
Nyheder : 719565
Indlæg : 6409073
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste