|
| 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!
| |
|
|