Wie UTF-8 BOM entfernen?

Opus
Beiträge: 19
Registriert: Mi 27. Mai 2009, 12:43
Kontaktdaten:

Wie UTF-8 BOM entfernen?

Beitrag von Opus » Mi 27. Mai 2009, 13:08

Ich habe Probleme mit UTF-8 in einer neuen Contenido Installation (4.8.12), dort wurde anfangs in jeder Backend-Seite das UTF-8 BOM (Byte-Order Mark) an erster Stelle des HTML (bzw. php) Files gesetzt, so dass im Backend einige Fragezeichen und anderes zu sehen waren. Nun sind die weg aber die seltsamen Sonderzeichen anstelle von ä, ö und ü sind im Backend übrig geblieben.
Weshalb wurde das Backend in utf-8 umgewandelt, wenn nur die Sprache bzw. die Ausgabe utf-8 sein soll?

Und das hartnäckigste Problem: Ein utf-8 BOM setzt sich immer im Layout an erster Stelle vor den Document-Type.
Das führt zu dem Problem, dass der IE 7 darüber stolpert und bei Klick auf einen Link im Menü die Hälfte des CSS verliert.
Ich habe das gleiche Problem wie hier beschrieben:
http://www.perun.net/2006/12/15/vorsich ... xplorer-7/

Nur dass ich aber nicht einfach den Layout-Quelltext herunterladen kann und ohne BOM abspeichern und wieder hochladen kann, denn das Layout ist bei Contenido ja in der Datenbank und jedesmal steht das BOM wieder unsichtbar da.
Wie bekomme ich das BOM aus dem Layout raus?
Wodurch wird das BOM überhaupt eingesetzt? Macht das die Datenbank?
Gibt es ein PHP-Script, um BOMs automatisch zu löschen?

Opus

GaMbIt_
Beiträge: 674
Registriert: Do 16. Mär 2006, 16:17
Kontaktdaten:

Re: Wie UTF-8 BOM entfernen?

Beitrag von GaMbIt_ » Mi 27. Mai 2009, 13:59

Öhöm...

Contenido ist doch nicht in UTF8 gespeichert...

also die ganzen Dateien...

Und dann noch was...
Welche Datei hat da denn den Bom drin?contenido gibt eigentlich immer die front_content.php aus... hast Du die evtl als UTF-8 abgespeichert?
Nützliche Contenido Infos gibts hier: Contenido Wiki

Opus
Beiträge: 19
Registriert: Mi 27. Mai 2009, 12:43
Kontaktdaten:

Re: Wie UTF-8 BOM entfernen?

Beitrag von Opus » Mi 27. Mai 2009, 14:08

Das HTML-Layout wird mit BOM gespeichert.

Aber das Layout womit man dann die Templates erstellt, wird ja nur in der Datenbank abgelegt.
Kann es sein, dass die Datenbank ein BOM dazu setzt?

GaMbIt_
Beiträge: 674
Registriert: Do 16. Mär 2006, 16:17
Kontaktdaten:

Re: Wie UTF-8 BOM entfernen?

Beitrag von GaMbIt_ » Mi 27. Mai 2009, 14:46

???

Das layout halt ohne BOM abspeichern...
Nützliche Contenido Infos gibts hier: Contenido Wiki

Opus
Beiträge: 19
Registriert: Mi 27. Mai 2009, 12:43
Kontaktdaten:

Re: Wie UTF-8 BOM entfernen?

Beitrag von Opus » Mi 27. Mai 2009, 14:55

GaMbIt_ hat geschrieben:???

Das layout halt ohne BOM abspeichern...
Schlaumeier, und wie soll ich das machen?
Im Backend gibt es keinen Button, worauf steht, dass man das Layout auch ohne BOM abspeichern kann.

GaMbIt_
Beiträge: 674
Registriert: Do 16. Mär 2006, 16:17
Kontaktdaten:

Re: Wie UTF-8 BOM entfernen?

Beitrag von GaMbIt_ » Mi 27. Mai 2009, 17:17

Der Schlaumeier meint dass Du einen Editor verwenden solltest der den BOM nicht mitspeichert...
Nützliche Contenido Infos gibts hier: Contenido Wiki

Opus
Beiträge: 19
Registriert: Mi 27. Mai 2009, 12:43
Kontaktdaten:

Re: Wie UTF-8 BOM entfernen?

Beitrag von Opus » Mi 27. Mai 2009, 17:23

Der Editor nennt sich aber Contenido und findet sich im Backend unter Style ---> Layouts , dort wo all die schönen Layouts abgespeichert werden.
Es gibt da zwar einen Syntax-Highlighter aber keinen Button, wo man UTF-8 ohne BOM einstellen kann.

Darum meine Eingangsfrage: Wie kann ich ein Layout ohne BOM sichern?

Oder wird das BOM ganz woanders der Seitenausgabe hinzugefügt?

GaMbIt_
Beiträge: 674
Registriert: Do 16. Mär 2006, 16:17
Kontaktdaten:

Re: Wie UTF-8 BOM entfernen?

Beitrag von GaMbIt_ » Mi 27. Mai 2009, 17:32

So langsam ist meine Geduld am Ende...

Wenn Du es nicht auf die Reihe bekommst dann lass das jemanden tun der Ahnung davon hat...

Der Schlaumeier lässt seine schlauen Tipps jetz mal...
Nützliche Contenido Infos gibts hier: Contenido Wiki

Opus
Beiträge: 19
Registriert: Mi 27. Mai 2009, 12:43
Kontaktdaten:

Re: Wie UTF-8 BOM entfernen?

Beitrag von Opus » Mi 27. Mai 2009, 17:51

Das mit dem Editor weiß ich doch längst, aber wir haben in Contenido mit dem Layout ja keine Datei die man einfach umwandeln kann, sondern der Inhalt des "Layouts" wird in der Datenbank gespeichert.

Also kann ich nur den Inhalt im Backend-Editor von Contenido markieren und kopieren und in einen Editor auf meinem PC einfügen, sagen wir mal Notepad++.
Wenn ich das dann da auf UTF-8 ohne BOM einstelle und speichere, und füge dann den Inhalt wieder in Contenido ein, dann erscheint trotzdem wieder die UTF8 Codierung an erster Stelle wenn ich die Startseite aufrufe.

Contenido holt sich ja das Template und fügt dort die Inhalte ein und macht eine Seite daraus, aber die Doctype steht ja schon im Layout, folglich dürfte die BOM schon dort eingefügt werden.

Aber vielleicht hat jemand eine Idee, an welcher Stelle BOM einer Seitenausgabe zugefügt wird?
Jedenfalls ist im Quelltext der Seite das BOM enthalten, obwohl ich das Layout wie oben beschrieben ohne BOM reinkopiert habe.

GaMbIt_
Beiträge: 674
Registriert: Do 16. Mär 2006, 16:17
Kontaktdaten:

Re: Wie UTF-8 BOM entfernen?

Beitrag von GaMbIt_ » Mi 27. Mai 2009, 17:54

ahhh...

Tja.. hast Du die front_content.php mit nem BOM abgespeichert?
Nützliche Contenido Infos gibts hier: Contenido Wiki

Opus
Beiträge: 19
Registriert: Mi 27. Mai 2009, 12:43
Kontaktdaten:

Re: Wie UTF-8 BOM entfernen?

Beitrag von Opus » Mi 27. Mai 2009, 18:03

nein, natürlich nicht.

Aber irgendein Automatismus hatte ursprünglich eine Menge BOM in sämtliche dateien eingefügt, so dass das Backend total zerschossen aussah, weil diese seltsamen Zeichen am Anfang jeder HTML-Datei waren. Das Backend ist ja auch html.
Diese Routine die das machte, muss damit zusammenhängen, dass entweder die Sprache in utf8 eingestellt wurde oder das System in XHTML umgestellt, denn weiteres hatte ich nicht gemacht.

Opus
Beiträge: 19
Registriert: Mi 27. Mai 2009, 12:43
Kontaktdaten:

Re: Wie UTF-8 BOM entfernen?

Beitrag von Opus » Do 28. Mai 2009, 08:31

Weiß denn keiner, was dafür verantwortlich ist, dass ein BOM in die Seitenausgabe eingefügt wird?

Ich habe mir die Datenbank-Tabelle con_lay angeschaut und dort ist kein BOM enthalten, also wird es nachträglich eingefügt, nachdem Inhalt und Template zu einer Seite gemacht wurden. Vermutlich macht es eine PHP-Routine, die für die utf-8 Ausgabe zuständig ist, wenn die Seite zusammengestellt wird.

Wenn dem so wäre, wäre es ein Bug, denn in der html-Seitenausgabe hat ein BOM nichts zu suchen, empfiehlt auch das w3c.

Kann mir jemand wenigstens sagen, welches PHP-Programm (oder -Klasse) die utf-8 Ausgabe für die Seite macht?
Oder ist Contenido noch nicht utf-8 tauglich?
Bin ich der einzige der utf-8 versucht?

So sieht es aus, wenn die Seite im Browser erscheint und man den Quellcode in westlicher Codierung (statt utf8) anschaut:

Code: Alles auswählen

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
Da sind sogar zweimal BOM drin...

idea-tec
Beiträge: 1242
Registriert: Do 19. Sep 2002, 14:41
Wohnort: Dichtelbach
Kontaktdaten:

Re: Wie UTF-8 BOM entfernen?

Beitrag von idea-tec » Do 28. Mai 2009, 08:55

Opus hat geschrieben:Wenn dem so wäre, wäre es ein Bug, denn in der html-Seitenausgabe hat ein BOM nichts zu suchen, empfiehlt auch das w3c.
Wenn DEM tatsächlich SO wäre, dann wärest DU nicht der einzige, der das Problem hat!!!
Von daher: Immer mal langsam und vorsichtig mit SOLCHEN Aussagen
Opus hat geschrieben:Oder ist Contenido noch nicht utf-8 tauglich?
Ich nehme an dass außer dir alle Contenido-Nutzer zu doof sind für Contenido UTF-8 einzusetzen, deswegen trat dieser "Bug" bisher NUR bei dir auf.
Opus hat geschrieben:Bin ich der einzige der utf-8 versucht?
So wie DU schreibst anscheinend schon

Da ich den "Bug" auf mehr als 5 verschiedenen Servern nicht reproduzieren kann, kann ich dir leider nicht helfen, sondern nur an deinen Verstand appelieren, deinen Ton zu mäßigen.
MfG, Karsten
Nicht Können bedeutet nicht, dass man etwas nicht beherrscht, sondern lediglich, dass man sich nicht traut es zu tun ;-)
| Internet | Ihr Logo deutschlandweit auf T-Shirts |
Diplomatie: Jemanden so in die Hölle zu schicken, dass er sich auf die Reise freut!!! ;-)

Opus
Beiträge: 19
Registriert: Mi 27. Mai 2009, 12:43
Kontaktdaten:

Re: Wie UTF-8 BOM entfernen?

Beitrag von Opus » Do 28. Mai 2009, 09:00

Sehr konstruktive Antwort, also auch keinen blassen Schimmer.

komisch dass Wordpress und Typo3 das im Griff haben...

idea-tec
Beiträge: 1242
Registriert: Do 19. Sep 2002, 14:41
Wohnort: Dichtelbach
Kontaktdaten:

Re: Wie UTF-8 BOM entfernen?

Beitrag von idea-tec » Do 28. Mai 2009, 09:05

Nicht Contenido hat das nicht im Griff, sondern DU!!!!
Und ja, die Antwort war sowohl konstruktiv als auch kompetent, aber leider scheinst du sie nicht zu verstehen
MfG, Karsten
Nicht Können bedeutet nicht, dass man etwas nicht beherrscht, sondern lediglich, dass man sich nicht traut es zu tun ;-)
| Internet | Ihr Logo deutschlandweit auf T-Shirts |
Diplomatie: Jemanden so in die Hölle zu schicken, dass er sich auf die Reise freut!!! ;-)

Gesperrt