Das Euro-Zeichen und valides HTML 4.01

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
IPB_Flüchtling
Mitglied
Beiträge: 1862
Registriert: 23.12.2004 22:46

Beitrag von IPB_Flüchtling »

Hallo easygo,

funktioniert über die Wortzensur leider auch nicht: Wenn man € durch € ersetzen lässt, taucht im Quelltext der Seiten mit den entsprechenden Euro-Beiträgen trotzdem noch das €-Zeichen und nicht € auf.

Also wieder nix mit validem Code. :(

Dennoch danke für Eure Vorschläge!
LG, IPB_Flüchtling
Benutzeravatar
easygo
Mitglied
Beiträge: 2170
Registriert: 03.09.2004 13:45
Kontaktdaten:

Beitrag von easygo »

So funktionierts WC3-konform (ohne Wortzensur) -->

http://www.net4seven.de/ftopic676.html
IPB_Flüchtling
Mitglied
Beiträge: 1862
Registriert: 23.12.2004 22:46

Beitrag von IPB_Flüchtling »

Hallo easygo,

Du siehst mich hiermit einigermaßen verblüfft! Hast Du irgendeinen Trick benutzt oder in Deinem Beitrag wirklich das €-Zeichen (also AltGr+E) gepostet?

Wenn ich das mache, kommt nämlich partout kein valider Code heraus. Der W3C-Validator meint dann immer: "non SGML character number 128 - You have used an illegal character in your text. HTML uses the standard UNICODE Consortium character repertoire, and it leaves undefined (among others) 65 character codes (0 to 31 inclusive and 127 to 159 inclusive) that are sometimes used for typographical quote marks and similar in proprietary character sets. The validator has found one of these undefined characters in your document."

Könnte es eventuell daran liegen, dass ich mein Board, das in den USA gehostet wird, automatisch über CPanel installiert habe? (War damals Version 2.0.11; habe die deutschen Sprachfiles nachgerüstet und seitdem jedes Sicherheitsupdate bis zur Version 2.0.17 mitgemacht.)

Vielleicht hat das phpbb.de-Team in die deutsche Version ja einen kleinen €-Bugfix eingebaut, ähnlich wie in der deutschen Version ja auch das Sommerzeit/Winterzeit-Problem behoben ist.

Weiß leider nicht einmal ansatzweise, um welche Datei(en) es sich hierbei handeln könnte.

Oder hast Du doch einen Trick benutzt?

LG, IPB_Flüchtling
Benutzeravatar
easygo
Mitglied
Beiträge: 2170
Registriert: 03.09.2004 13:45
Kontaktdaten:

Beitrag von easygo »

IPB_Flüchtling hat geschrieben:Vielleicht hat das phpbb.de-Team in die deutsche Version ja einen kleinen €-Bugfix eingebaut, ähnlich wie in der deutschen Version ja auch das Sommerzeit/Winterzeit-Problem behoben ist.
Nö, phpbb.de hat damit nix am Hut. Hier der ganze "Trick" -->

http://www.net4seven.de/fpost3569.html#3569
Zuletzt geändert von easygo am 12.10.2005 20:36, insgesamt 1-mal geändert.
IPB_Flüchtling
Mitglied
Beiträge: 1862
Registriert: 23.12.2004 22:46

Beitrag von IPB_Flüchtling »

Herzlichen Dank, easygo!

Hat super funktioniert! In der functions_post.php steckte also der Fehlerteufel...

Der einzige Wermutstropfen: In bereits bestehenden Postings bleibt der €-bedingte HTML-Fehler erhalten. Daher meine kleine Anregung:

Easygos Lösung, das €-Zeichen HTML-konform zu behandeln, sollte in die offizielle phpbb-Software einfließen und nicht als Mod installiert werden müssen!

Also danke noch einmal!

LG, IPB_Flüchtling
IPB_Flüchtling
Mitglied
Beiträge: 1862
Registriert: 23.12.2004 22:46

Problem ist doch nocht nicht ganz gelöst

Beitrag von IPB_Flüchtling »

Hallo,

habe gerade festgestellt, dass das Eurozeichen-Problem doch noch nicht ganz gelöst ist: Und zwar wird das €-Zeichen, wenn es in einem Topic-Titel oder einem Beitrags-Titel auftaucht, nicht in € umgewandelt, was auf einer Seite gleich mehrere HTML-Fehler produziert. :(

(Im <head>-Bereich, genauer im <title>-Tag, wird das €-Zeichen übrigens auch nicht umgewandelt. Liegt das auch an der functions_post.php, oder müsste auch noch in die page_header.php eingegriffen werden? Und wenn ja: wie?)

Wer kann helfen? Rettest Du mich noch einmal, easygo?

LG, IPB_Flüchtling
Benutzeravatar
easygo
Mitglied
Beiträge: 2170
Registriert: 03.09.2004 13:45
Kontaktdaten:

Beitrag von easygo »

Ok einer geht noch -->

http://www.net4seven.de/fpost3669.html#3669

Einfach mal austesten. easy
Zuletzt geändert von easygo am 12.10.2005 20:38, insgesamt 1-mal geändert.
IPB_Flüchtling
Mitglied
Beiträge: 1862
Registriert: 23.12.2004 22:46

Beitrag von IPB_Flüchtling »

Ich liebe Dich, easygo!

So wie es nach einem ersten Test aussieht, scheint das €-Zeichen-Problem nun endgültig gelöst zu sein!

Ich habe übrigens sowohl die MOD-Version 1.07 als auch 1.07a installiert - nur falls es jemand nachmachen will.

Vielen Dank noch einmal!
LG, IPB_Flüchtling
IPB_Flüchtling
Mitglied
Beiträge: 1862
Registriert: 23.12.2004 22:46

Beitrag von IPB_Flüchtling »

Hallo,

habe eben ein Snippet von PhilippK gefunden, wie man auf einfache Weise alle bereits geposteten €-Zeichen automatisch in &euro; umschreiben könnte. Das Snippet ist hier zu finden.

Nun meine Frage: Darf bei einem SQL-Befehl auch ein Sonderzeichen wie € vorkommen, oder laufe ich Gefahr, mir dadurch aus diesem oder jenem Grund die Datenbank zu zerstören?

An folgenden SQL-Befehl hätte ich, in Anlehnung an PhilippK, gedacht:

Code: Alles auswählen

UPDATE phpbb_posts_text 
SET post_text = REPLACE(post_text, '€', '&euro;') 
WHERE post_text LIKE '%€%'
(Da, wo Ihr in obigem Code einen kleinen senkrechten Balken seht, steht eigentlich das €-Zeichen.) Könnte das funktionieren?

LG, IPB_Flüchtling
IPB_Flüchtling
Mitglied
Beiträge: 1862
Registriert: 23.12.2004 22:46

Beitrag von IPB_Flüchtling »

Okay, weil ich meine Datenbank aus einem anderen Grund ohnehin neu einspielen musste, habe ich es gleich selbst ausprobiert: Das oben Vorgeschlagene scheint tatsächlich zu funktionieren!

Folglich ist es ein heißer Tipp für alle, die ein recht großes Forum besitzen und sich nicht "händisch" alle Beiträge vornehmen wollen/können!

Zwei Anmerkungen noch:

- Philipps Hinweise beachten (Link zu seinem Snippet steht im vorhergehenden Posting)
- Wer den Dynamische-Metatags-Mod eingebaut hat, sollte nach Ersetzung der €-Zeichen durch &euro; mit Hilfe des DBMaintenance-Mods den Suchindex neu aufbauen lassen. Dann tauchen die HTML-Fehler verursachenden €-Zeichen auch nicht mehr in den dynamisch generierten Metatags auf.

LG, IPB_Flüchtling
Antworten

Zurück zu „Coding & Technik“