Mailinglisten-Archive |
> > Message: 2 > Date: Wed, 31 May 2000 15:31:20 +0200 > From: Peter =?iso-8859-1?Q?K=FChn?= <pk_(at)_koelner.de> > To: php_(at)_php-center.de > Subject: [php] Oktal nach ISO > Reply-To: php_(at)_php-center.de > > Hallo Liste, > ich muß Daten in eine DB importieren, in denen Sonderzeichen, Umlaute > etc. als Oktalzahlen codiert vorkommen (z.B. "K\366ln" meint eigentlich > "Köln"). > Muß ich mir hier erst händisch eine Liste aller möglichen > Oktal-ISO-Entsprechungen aufsetzen um das wieder rückgängig zu machen > oder gibts da ne Funktion? Wenn ja reicht RTFM - oder hat vieleicht > irgendwer einen Schnipsel für mich? Unter http://www.php.net/manual/ref.math.php stehen unter anderem Converfunktionen wie Oktal -> Dezimal und ein paar andere bereit, evtl. kannst du dir da was draus basteln. z.B $zeichen = "Ä,Ü,Ö,ä,ü,ö,ß,',`"; // bei Bedarf ergaenzen $sonder = explode(",", $zeichen); while(list($k,$v) = each($sonder)) { echo "Ein $v wird zu \\".decoct(hexdec(urlencode($v)))."<br>"; } Aber sofern es nur darum geht den Datenbankinhalt im Web darzustellen brauchts du doch nix dran zuaendern. <?php $text = addslashes("Ein Satz mit K\366ln im Text"); echo "<p>".htmlentities("$text")." !</p>\n"; ?> Und mit PHP4 kann man die htmlentities auch wieder umkehren und dann sollten die Umlaute wieder erscheinen. Siehe http://www.php.net/manual/function.get-html-translation-table.php ansonnsten mit einer Regex nach den Teilen suchen und ersetzten. Gruss Joerg Behrens -- Key fingerprint = 92 7D E0 A6 CF AE EC 32 14 28 EF 0D 57 2A 88 5B ---------------------------------------------------------------------- TakeNet GmbH Mobil: 0171/60 57 963 D-97080 Wuerzburg Tel: +49 931 903-2243 Alfred-Nobel-Straße 20 Fax: +49 931 903-3025
php::bar PHP Wiki - Listenarchive