Teil von SELFHTML Forum Teil von SELFHTML Forumsarchiv Teil von 2008 Teil von Juni

SELFHTML Forumsarchiv
Oktalcode übersetzen??

Informationsseite
  1. Seite (PHP) Oktalcode übersetzen?? von hawkmaster, 30. 06. 2008, 11:30
nach unten

Oktalcode übersetzen??

Die folgende Nachricht zum Thema stammt von: hawkmaster, 30. 06. 2008, 11:30

Hallo zusammen,
in verschieden sprachigen Textdateien finden sich Sonderzeichen die im Oktalcode dargestellt sind.

z.b. im deutschen Text <FC> für das "ü" bei Broschüre;
Brosch<FC>re
oder im französischen;
R<E9>ceptacle

Gibt es irgend eine Funktion oder Möglichkeit dies "richtig" also im Browser leesbar darzustellen?

vielen Dank und viele Grüße
hawk

nach obennach unten

Oktalcode übersetzen??

Die folgende Nachricht zum Thema stammt von: suit, 30. 06. 2008, 11:36

»» z.b. im deutschen Text <FC> für das "ü" bei Broschüre;
»» Brosch<FC>re

»» Gibt es irgend eine Funktion oder Möglichkeit dies "richtig" also im Browser leesbar darzustellen?

FC ist nicht oktal sondern hexadezimal - oktal kennt nur die ziffern 0-7

du kannst die zeichen zb fast 1:1 als nummerische referenz darstellen

nach obennach unten

Oktalcode übersetzen??

Die folgende Nachricht zum Thema stammt von: hawkmaster, 30. 06. 2008, 11:46

Hallo suit,

danke für den Hinweis.
Habe ich das richtig verstanden das ich dann also den Hex Wert FC zuerst in Unicode umwandeln muss um diesen dann im Browser darzustellen?

»» du kannst die zeichen zb fast 1:1 als nummerische referenz darstellen

vielen Dank und viele Grüße
hawk

nach obennach unten

Oktalcode übersetzen??

Die folgende Nachricht zum Thema stammt von: suit, 30. 06. 2008, 12:13

»» Habe ich das richtig verstanden das ich dann also den Hex Wert FC zuerst in Unicode umwandeln muss um diesen dann im Browser darzustellen?

geht auch viel einfacher:

"&#x3B1;
Das x notieren Sie dann, wenn Sie die Nummer hexadezimal angeben."

für dein kleines ü ersetzt du im Endeffekt <FC> durch &#xFC; und gut ist

nach obennach unten

Wie Umlaute in DB speichern?

Die folgende Nachricht zum Thema stammt von: hawkmaster, 30. 06. 2008, 12:38

Na das ist natürlich noch besser.

»» geht auch viel einfacher:
»» "&#x3B1;
»» Das x notieren Sie dann, wenn Sie die Nummer hexadezimal angeben."
»» für dein kleines ü ersetzt du im Endeffekt <FC> durch &#xFC; und gut ist

ich hatte es jetzt so versucht um den Satz nach diesen <..> zu durchsuchen und richtig darzustellen.
if (preg_match_all("#<(.*?)>#", $item, $contents)){
$special_char = preg_replace("#<(.*?)>#","&#" .  hexdec($contents[1][0]),$item);
echo "Das sonderzeichen ist " . $special_char . "<br>";
}

vielleicht übertrieben aber es funktioniert.

Noch eine abschließende Frage:
Ich muss dann das gefundene Wort, also etwa Broschüre (das vorher Brosch<FC>re war) in einer Datenbank (mySQL Feld varchar250) speichern.
Würdest du das so wie angezeigt speichern oder die Umlaute besser in Unicode?

vielen Dank und viele Grüße
hawk

nach obennach unten

Wie Umlaute in DB speichern?

Die folgende Nachricht zum Thema stammt von: suit, 30. 06. 2008, 13:04

»» hexdec($contents[1][0]),$item);

wenn du statt &#252; (dezimal) einfach &#xFC; (hex) schreibst, sparst du dir hexdec

»» Würdest du das so wie angezeigt speichern oder die Umlaute besser in Unicode?

die richtige zeichencodierung ist nummerischen referenzen oder entities immer vorzuziehen (wenns möglich ist)

statt &#xFC; kannst du auch chr(hexdec('FC')); schreiben oder auf deinen aktuellen text html_entity_decode() anwenden

nach oben
Teil von SELFHTML Forum Teil von SELFHTML Forumsarchiv Teil von 2008 Teil von Juni

© 1998-2006 Seite Impressum, Software: Classic Forum