benannt maskierter Unicode

Du suchst einen bestimmten Mod, weißt aber nicht genau wo bzw. ob er überhaupt existiert? Wenn dir dieser Artikel nicht weiterhilft, kannst du hier den von dir gewünschten/gesuchten Mod beschreiben ...
Falls ein Mod-Autor eine der Anfragen hier aufnimmt um einen neuen Mod zu entwicklen, geht's in phpBB 2.0: Mods in Entwicklung weiter.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Benutzeravatar
friedels-home
Mitglied
Beiträge: 333
Registriert: 19.02.2006 00:59
Wohnort: Weingarten/Pfalz
Kontaktdaten:

benannt maskierter Unicode

Beitrag von friedels-home »

Hallo.
Ich benutze oft Unicode. Leider kann man min PhpBB-Forum keinen benannt maskierten Unicode verwenden. Nummerisch (dezimal) maskierter Unicode funktioniert, aber kein benannt maskierter. Da es ausgesprochen schwer (und unsinnig) ist, sich die ganzen Zahlen zu merken, würde ich mein Forum gerne so verändern, dass ich auch nummerisch maskierten Unicode verwenden kann. Gibt es so einen MOD? Oder weiß jemand wie man sowas machen kann? Wodurch wird denn der benannt maskierte Unicode umgewandet, sodass er nicht richtig dargestellt wird?

Danke
Benutzeravatar
friedels-home
Mitglied
Beiträge: 333
Registriert: 19.02.2006 00:59
Wohnort: Weingarten/Pfalz
Kontaktdaten:

Beitrag von friedels-home »

Ich schiebe mal nach oben. Weiß keiner eine Lösung?
Benutzeravatar
friedels-home
Mitglied
Beiträge: 333
Registriert: 19.02.2006 00:59
Wohnort: Weingarten/Pfalz
Kontaktdaten:

Beitrag von friedels-home »

Ich kann mir nicht vorstellen, dass das wirklich keiner weiß. Bitte helft mir. Ich kann leider kein Php und weiß deshalb auch nicht in welcher Datei ich wonach suchen muss um die Ursache für die Umwandlung zu finden.
Benutzeravatar
easygo
Mitglied
Beiträge: 2170
Registriert: 03.09.2004 13:45
Kontaktdaten:

Re: benannt maskierter Unicode

Beitrag von easygo »

friedels-home hat geschrieben:Leider kann man min PhpBB-Forum keinen benannt maskierten Unicode verwenden. Nummerisch (dezimal) maskierter Unicode funktioniert, aber kein benannt maskierter.
Problem wird sein, dass keiner weiß, was du damit meinst / nicht mal Google btw.

Bekannt sind die dez. / hex. Schreibweisen + UTF8/16 und dann halt noch
die so genannten named entities, aber die fallen da gar nicht drunter.

Also worum gehts? Mach mal Beispiel. easy
Benutzeravatar
friedels-home
Mitglied
Beiträge: 333
Registriert: 19.02.2006 00:59
Wohnort: Weingarten/Pfalz
Kontaktdaten:

Beitrag von friedels-home »

Ich dachte eigentlich, dass allgemein bekannt ist, was Unicode ist. Unicode braucht man um Zeichen dar zu stellen, die nicht im Zeichensatz enthalten sind oder die man nicht eingeben kann (z.B. weil sie nicht auf dem Keyboard sind). Beispiele sind z.B. ¥ © ª ¬ ¬ ± µ ¿ Å Å † ‰ ‡ ℅ ℓ ∀ ∂ ∇ ∈ ∋ ∏ ∫ ∽ ≠ ≧ ⊆ ⊥ ⊿ ┃ ┋ ╬ ▁ ▂ ▁ ▃ ▄ ▅ ▆ ▇ █ ▉ ▊ ▋ ▌ ▍ ▎ ▣ ▲ ▶ ◀ ◁ ◆ ◇ ◈ ★ ☎ ☜ ☞ ♀ ♂ ♠ ♥ ♪ ♬ ♯ ♭ und tausende von anderen Zeichen.
Wenn man ein Zeichen codiert, nennt man das "Maskieren". Dabei gibt es mehrere Möglichkeiten so ein Zeichen zu maskieren. 2 davon sind das dezimale Maskieren und das benannte Maskieren. Beim dezimalen Maskieren gibt man "&#", dann die Dezimalzahl die zu dem jeweilige Weichen gehört, dann ";" ein. "→" erzeugt also "→". Um diese Methode verwenden zu können muss ,am sich aber natürlich die ganzen Nummern der Zeichen merken. Deshalb gibt es für die wichtigsten Zeichen benannte Maskierungen. Dazu verwendet man statt der Nummern festgelegte Kürzel und lässt das "#" weg. So erzeugt "→" auch "→". Das kann man sich leicht merken, denn "rarr" steht für "right arrow". Leider wird in PhpBB-Foren "→" als "→" dargestellt weil irgend wo in der Forensoftware "→" zu "→" umgewandelt wird. Das "&" wird also benannt maskiert. Und das möchte ich abstellen damit ich benannt maskierten Unicode verwenden kann.

Die Bezeichnungen habe ich mir übrigens nicht ausgedacht. Aber natürlich kann man auch "named entities" sagen. Aber eigendlich wird hier Deutsch geschrieben. Auf Deutsch heißen "named entities" "benannt maskierte Zeichen".
Benutzeravatar
easygo
Mitglied
Beiträge: 2170
Registriert: 03.09.2004 13:45
Kontaktdaten:

Beitrag von easygo »

Wie gesagt! Named entities oder auch HTML entities fallen da nicht drunter.
Soll heißen, das ist kein Unicode. Drum ist (meine Meinung) auch die Bezeichnung
"benannt maskierter Unicode" verwirrend um nicht zu sagen falsch.

Riskier mal nen Blick in die Datei includes/functions_post.php

Ganz oben siehst du, worans evtl. hängt --> $html_entities_match / ff
Benutzeravatar
friedels-home
Mitglied
Beiträge: 333
Registriert: 19.02.2006 00:59
Wohnort: Weingarten/Pfalz
Kontaktdaten:

Beitrag von friedels-home »

Die "Internationalization & Unicode Conferences" erstellen den "Unicode Standard". Und der ist nach eben dieser Unicode Conference (aktuell der 27-sten) für "Unicode and Named Entities" zuständig. Ob Named Entities Unicode sind, ist eine Frage der Definition. Jedenfalls sind sie Bestandteil des Unicode Standard. Aber wenn meine Formulierung zu Miss- oder Unverständnis führt muss ich natürlich eine andere Bezeichnung verwenden. Von mir aus "Named Entities".

Danke jedenfalls dafür, dass du mit mitgeteilt hast was für diese Umwandlung verantwortlich ist. Leider habe ich weder von Datenbanken, noch von Php viel Ahnung. So weiß ich nicht genau was &(?!(\#[0-9]+;)) bedeutet und vor allem weiß ich nicht warum das umgewandelt wird. Würden diese Zeichenfolgen den Datenbanken Probleme machen?
Benutzeravatar
easygo
Mitglied
Beiträge: 2170
Registriert: 03.09.2004 13:45
Kontaktdaten:

Beitrag von easygo »

Probleme? schon möglich. Wer das gecodet hat, wirds wissen.

Ich wars nicht. :D Also, ersetzt du das

Code: Alles auswählen

$html_entities_match = array('#&(?!(\#[0-9]+;))#', '#<#', '#>#', '#"#');
$html_entities_replace = array('&', '<', '>', '"');
mal damit -->

Code: Alles auswählen

$html_entities_match = array('#<#', '#>#', '#"#');
$html_entities_replace = array('<', '>', '"');
und du hast genau das was du wolltest, nehm ich an. n8 easy
Benutzeravatar
friedels-home
Mitglied
Beiträge: 333
Registriert: 19.02.2006 00:59
Wohnort: Weingarten/Pfalz
Kontaktdaten:

Beitrag von friedels-home »

Ist zwar lange her, aber ich stelle gerade fest, dass ich vergessen habe die Erfolgsmeldung zu posten und mich zu bedanken. Es hat geklappt und es gab keine Probleme mit der Datenbank oder sonst was.
Zuletzt geändert von friedels-home am 31.12.2006 00:15, insgesamt 1-mal geändert.
Benutzeravatar
Olli Oberhausen
Mitglied
Beiträge: 561
Registriert: 22.10.2004 01:03
Wohnort: Oberhausen NRW
Kontaktdaten:

Beitrag von Olli Oberhausen »

Schön zu hören, das es funktioniert - hätt ich bei den profis hier auch nicht anders erwartet.

Ich hatte letztens das selbe problem und bin auf diese lösung gekommen, damit wird auch weiterhin das & maskiert.

Wenns dir spaß macht das noch zu testen :grin: :grin: :grin:

Code: Alles auswählen

$html_entities_match = array('#&(?!(\#[0-9]+;))#', '#<#', '#>#', '#"#');
$html_entities_replace = array('&', '<', '>', '"');
mal damit -->

Code: Alles auswählen

$html_entities_match = array('#&(?!(\#\d{2,4};|\w{2,6};))#', '#<#', '#>#', '#"#');
$html_entities_replace = array('&', '<', '>', '"');
Neulich im Zoo: Papa, guck mal, da sind Linuxe...
KB-Suche :: db_update_generator :: phpMyAdmin
Winmerge :: Zend Studio
Antworten

Zurück zu „phpBB 2.0: Mod Suche/Anfragen“