phpbar.de logo

Mailinglisten-Archive

[php] Re: Oktal nach ISO

[php] Re: Oktal nach ISO

Joerg Behrens behrens_(at)_takenet.de
Wed, 31 May 2000 19:10:40 +0200


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