/ 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
ISO-8859-1
Fra : Martin Skou Andersen


Dato : 13-05-02 09:22

Hej NG...
Hvordan konverter man ISO-8859-1 encoded tekst til almindelig forståelig
dansk?
Jeg har f.eks. sådan en streng:
=?iso-8859-1?Q?Dette=20er=20sv=e6rt=20at=20l=e6se?=.
Som er:
Dette er svært at læse.

Findes der en funktion i PHP eller skal jeg selv igang med at bikse en
sammen?

 
 
Troels Arvin (13-05-2002)
Kommentar
Fra : Troels Arvin


Dato : 13-05-02 10:22

On Mon, 13 May 2002 10:22:11 +0200, Martin Skou Andersen wrote:

> Hvordan konverter man ISO-8859-1 encoded tekst til almindelig forståelig
> dansk?
ISO-8859-1 _er_ forståelig dansk.

> Jeg har f.eks. sådan en streng:
> =?iso-8859-1?Q?Dette=20er=20sv=e6rt=20at=20l=e6se?=. Som er: Dette er
> svært at læse.
Ja, for det er "quoted printable" encode'et.

http://dk.php.net/manual/en/function.quoted-printable-decode.php

--
Greetings from Troels Arvin, Copenhagen, Denmark

Jonas Koch Bentzen (13-05-2002)
Kommentar
Fra : Jonas Koch Bentzen


Dato : 13-05-02 10:45

Troels Arvin skrev:

> On Mon, 13 May 2002 10:22:11 +0200, Martin Skou Andersen wrote:
>
>> Hvordan konverter man ISO-8859-1 encoded tekst til almindelig
>> forståelig dansk?
> ISO-8859-1 _er_ forståelig dansk.
>
>> Jeg har f.eks. sådan en streng:
>> =?iso-8859-1?Q?Dette=20er=20sv=e6rt=20at=20l=e6se?=. Som er: Dette er
>> svært at læse.
> Ja, for det er "quoted printable" encode'et.
>
> http://dk.php.net/manual/en/function.quoted-printable-decode.php

Alene at køre funktionen quoted_printable_decode() vil ikke være nok.
Man skal jo også fjerne "=?iso-8859-1?Q?", som kan forekomme i flere
forskellige variationer og flere gange i strengen.

Løsninger er at bruge imap_mime_header_decode()-funktionen. Den virker
dog kun, hvis man har IMAP-understøttelse i PHP. Har man ikke det, kan
man bruge følgende funktion, jeg har lavet til Instant Web Mail:

function mimeHeaderDecode($string) {
if (strstr($string, "=?")) {
$explode = explode("=?", $string);
$newString = $explode[0];
for ($i = 1; $i < sizeof($explode); $i++) {
$explode2 = explode("?", $explode[$i]);

$newString .= (strtolower($ex
plode2[1]) == "q") ? quoted_printable_decode($explode2[2]) : base64_decode($explode2[2]);
$newString .= substr($explode2[3], 1);
}
}
else return $string;

return $newString;
}

--
Jonas Koch Bentzen

http://understroem.dk/

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

Månedens bedste
Årets bedste
Sidste års bedste