Wie UTF-8 BOM entfernen?

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

Re: Wie UTF-8 BOM entfernen?

Beitrag von GaMbIt_ » Do 28. Mai 2009, 09:08

hahahaha...

Wenn ich gegen einen Baum fahre ist auch das Auto schuld...

Ich setze übrigens einige Contenido Installationen mit UTF-8 ein... keine Probleme bist jetzt...
Da muss ich den nicht vorhandenen BOM ja irgendwie entfernt haben... oder war der ganricht erst da?

Wie war das nochmal...

@idea-tec
Gabs da nicht mal eine Funktion vom Contenido dass da extra ein BOM ausgegebn wird wenn das Contenido glaubt dass der Admin keine Ahnung hat?
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 » Do 28. Mai 2009, 09:12

gibt es ausser diesen Zweien noch jemand anderen, der mehr von der Materie versteht und sich wenigstens bemüht, eine fachliche Antwort zu geben?

Dodger77
Beiträge: 3626
Registriert: Di 12. Okt 2004, 20:00
Wohnort: Voerde (Niederrhein)
Kontaktdaten:

Re: Wie UTF-8 BOM entfernen?

Beitrag von Dodger77 » Do 28. Mai 2009, 09:34

Bei der Fehlersuche (wo auch immer der jetzt liegt) könnte es helfen, mal auf einer anderen (z.B. lokalen) Contenido-Installation mal das entsprechende Layout einzustellen und zu schauen, was dann passiert.

Interessant wäre evtl., mit welchem Programm die Contenido-Dateien auf den Webserver hochgeladen wurden. Manche Leute nutzen für sowas ja gerne mal die eingebauten FTP-Funktionen von Text-/HTML-Editoren. Die machen ja schon mal die wildesten Sachen.

Dodger77
Beiträge: 3626
Registriert: Di 12. Okt 2004, 20:00
Wohnort: Voerde (Niederrhein)
Kontaktdaten:

Re: Wie UTF-8 BOM entfernen?

Beitrag von Dodger77 » Do 28. Mai 2009, 09:44

Opus hat geschrieben:gibt es ausser diesen Zweien noch jemand anderen, der mehr von der Materie versteht und sich wenigstens bemüht, eine fachliche Antwort zu geben?
Nach deinem "Schlaumeier" direkt nach der ersten Antwort, dem Vergleich mit anderen CMS und diesem Satz könnte die Bereitschaft anderer, dir hier zu helfen, etwas leiden. Wenn dir Fragen oder Antworten hier als etwas selbstverständlich erscheinen (z.B. "ohne BOM abspeichern"), dann liegt das daran, dass dich keiner so genau einschätzen kann und nicht vorher weiß, ob du daran gedacht hast.

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

Ich arbeite mit Filezilla als FTP und das Layout hatte ich mehrfach in verschiedenen Editoren (Notepad++, PsPad, Windows-Editor) explizit ohne UTF-8 und utf-8 ohne BOM abgespeichert und dann in Contenido eingefügt.
Auch der Inhalt der Datenbanktabelle zeigt mir nichts an, dort steht auch als Zeichensatz latin1_german1_ci und von einem BOM ist dort nichts zu sehen, auch wenn ich den Inhalt kopiere und in sämtlichen Editoren ausprobiere.

Darum vermute ich, dass der utf-8 BOM erst danach zugefügt wird, nämlich bei der Seitenausgabe.
PHP.org hatte dazu schon eine Anmerkung, dass nämlich die Standard-Convertierung in utf-8 von php diesen BOM anfügt, und da müsse man explizit php anweisen, diesen nicht snzufügen oder wieder zu entfernen. Erst in php 6 soll das standardmäßig anders geregelt sein.

Den Test mit dem Layout in anderen Installationen kann ich schnell mal machen, hab genug Contenido Projekte online.

Dodger77
Beiträge: 3626
Registriert: Di 12. Okt 2004, 20:00
Wohnort: Voerde (Niederrhein)
Kontaktdaten:

Re: Wie UTF-8 BOM entfernen?

Beitrag von Dodger77 » Do 28. Mai 2009, 09:49

Und ich nochmal. Eine Google-Suche hier nach "site:forum.contenido.org " bringt ein paar Treffer mit ähnlichen Problemen.

Häufig liegt es daran, dass die "contenido/includes/config.php" mit BOM abgespeichert wurde.

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

Dodger77 hat geschrieben:Nach deinem "Schlaumeier" direkt nach der ersten Antwort, dem Vergleich mit anderen CMS und diesem Satz könnte die Bereitschaft anderer, dir hier zu helfen, etwas leiden. Wenn dir Fragen oder Antworten hier als etwas selbstverständlich erscheinen (z.B. "ohne BOM abspeichern"), dann liegt das daran, dass dich keiner so genau einschätzen kann und nicht vorher weiß, ob du daran gedacht hast.
Die Antwort mit Schlaumeier war schon die Zweite.
Es dürfte eigentlich jedem bekannt sein, der Contenido selbst installiert hat und sein Design selbst erstellt hat, dass das Layout nicht als Datei auf dem Server liegt sondern in der Datenbank.
Das hatte ich auch in dem Eingangsartikel deutlich geschrieben:
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.
Wenn dann einer kommt und mir rät, ich solle halt das Layout einfach ohne BOM abspeichern, dann habe ich das Gefühl, dass hier jemandem langweilig ist und er sich einfach nur unterhalten will. Ausserdem müllt es den Thread zu und macht ihn unübersichtlich.
Und das trägt nicht dazu bei, dass sich kompetente Leute um Antwort bemühen, weil sie oft nicht die Zeit haben, alles durchzulesen.
"Schlaumeier" ist meiner Meinung nach noch recht freundlich ausgedrückt :-)

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

Dodger77 hat geschrieben:Und ich nochmal. Eine Google-Suche hier nach "site:forum.contenido.org " bringt ein paar Treffer mit ähnlichen Problemen.

Häufig liegt es daran, dass die "contenido/includes/config.php" mit BOM abgespeichert wurde.
Aber wie kann das sein?
Ich hatte nichts anderes getan, als xhtml im Backend einzustellen und die Sprache auf utf-8 zu setzen, mehr nicht.
Danach waren die utf-8 sonderzeichen im Backend zu sehen, so dass ich zuerst einmal die contenido.po mit "Poedit" überarbeiten musste, um alle ä,ö,ü und ß in die HTML-Umschreibung (ü) umzuwandeln. Das Wort "Übersicht" habe ich nicht gefunden, das Ü ist immer noch falsch dargestellt.

Kann es sein, dass die Spracheinstellung dies verursacht hat?

Dodger77
Beiträge: 3626
Registriert: Di 12. Okt 2004, 20:00
Wohnort: Voerde (Niederrhein)
Kontaktdaten:

Re: Wie UTF-8 BOM entfernen?

Beitrag von Dodger77 » Do 28. Mai 2009, 10:20

PHP und Contenido sollte von sich aus kein BOM einfügen. Und alle Tests (Zeichenkodierung bei einer Sprache von iso auf UTF-8 stellen) zeigen bei mir keinerlei Auswirkung, was das BOM angeht.

War es denn die "config.php"? Hast du dir mal die anderen Beiträge hier im Forum mal angesehen?

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

Re: Wie UTF-8 BOM entfernen?

Beitrag von GaMbIt_ » Do 28. Mai 2009, 10:33

ich tippe mal auf die Datenbank...
latin speichern und utf ausgeben... da muss ja was konvertiert werden...


Der gelangweilte Schlaumeier...

Bild
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? lösung1

Beitrag von Opus » Do 28. Mai 2009, 10:39

ja, die config.php im contenido/includes/ war als utf-8 codiert, und das ist natürlich Unsinn.

Ich habe nun die config.php in Ansi abgespeichert und hochgeladen und siehe da, es ist nur noch ein BOM da:

Code: Alles auswählen

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
Das reicht schon soweit, dass der IE-7 damit funktioniert.

Nun suche ich alles durch was neueren Datums ist, ob noch das restliche BOM irgendwo steckt.

Aufgetaucht ist das Problem mit dem BOM genau nachdem ich in den Einstellungen im Backend auf utf-8 und chtml gestellt hatte, als ob ein Programmteil alle dateien auf utf-8 umgestellt hätte.
Nachdem ich xhtml und utf-8 wieder ausgeschaltet hatte, verschwanden die BOMs aus der Backend-Anzeige, aber die Hyroglyphen der Sonderlaute öäü waren immer noch da und eben dieser Fehler in der Seitenausgabe.

Wie kann das sein, dass die Umschaltung auf utf-8 in der Spracheinstellung alle Dateien auf utf-8 verändert?
Zuletzt geändert von Opus am Do 28. Mai 2009, 11:12, insgesamt 1-mal geändert.

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

Re: Wie UTF-8 BOM entfernen? lösung2

Beitrag von Opus » Do 28. Mai 2009, 10:49

Die config.php im Mandanten (Pfad /cms) war auch befallen, also utf-8.
Hab sie nun geöffnet und als Ansi wieder abgespeichert und neu hochgeladen und gut ist, kein BOM mehr in der Seitenausgabe.

Code: Alles auswählen

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
Ich frage mich trotzdem noch, wie diese Dateien in utf-8 umgewandelt wurden (nein, ich war es nicht) und wie ich das Backend wieder ohne utf-8 hinbekomme, denn das ist auch noch in utf-8 ?
Zuletzt geändert von Opus am Do 28. Mai 2009, 11:12, insgesamt 1-mal geändert.

Dodger77
Beiträge: 3626
Registriert: Di 12. Okt 2004, 20:00
Wohnort: Voerde (Niederrhein)
Kontaktdaten:

Re: Wie UTF-8 BOM entfernen?

Beitrag von Dodger77 » Do 28. Mai 2009, 10:54

Opus hat geschrieben:Wie kann das sein, dass die Umschaltung auf utf-8 in der Spracheinstellung alle Dateien auf utf-8 verändert?
Meiner Meinung nach gar nicht.

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, 11:07

Dodger77 hat geschrieben: Meiner Meinung nach gar nicht.
Ja, würde ich auch denken, wenn ich es nicht anders erlebt hätte.
Wie gesagt, direkt nach der Einstellung xhtml und utf-8 im Backend tat sich was und im Backend waren überall diese BOM-Zeichen () zu sehen und alle ä, ö und ü waren mit den rechteckigen UTF-8 Zeichen (�) versehen.

Dann habe ich xhtml und utf-8 zurückgestellt und siehe da, die BOM-Zeichen waren aus dem Backend weg aber ä,ö,ü waren immer noch in diesen utf-8 Zeichen angezeigt worden. Die habe ich nur fast alle wegbekommen, weil ich die contenido.po bearbeitet habe.

Also muss die Spracheinstellung des Mandanten auf utf-8 irgendwas verändern.

Oldperl
Beiträge: 4251
Registriert: Do 30. Jun 2005, 22:56
Wohnort: Eltmann, Unterfranken, Bayern
Kontaktdaten:

Re: Wie UTF-8 BOM entfernen?

Beitrag von Oldperl » Fr 29. Mai 2009, 09:29

Opus hat geschrieben:Wie gesagt, direkt nach der Einstellung xhtml und utf-8 im Backend tat sich was und im Backend waren überall diese BOM-Zeichen () zu sehen und alle ä, ö und ü waren mit den rechteckigen UTF-8 Zeichen (�) versehen.
Das ist normal solange nicht alle Sprachdateien von Contenido ebenfalls als UTF-8 Datei gespeichert sind.
Opus hat geschrieben:Dann habe ich xhtml und utf-8 zurückgestellt und siehe da, die BOM-Zeichen waren aus dem Backend weg aber ä,ö,ü waren immer noch in diesen utf-8 Zeichen angezeigt worden. Die habe ich nur fast alle wegbekommen, weil ich die contenido.po bearbeitet habe.
Solange du keine Dateien geändert und dann gespeichert hast, sollte das nicht sein.
Opus hat geschrieben:Also muss die Spracheinstellung des Mandanten auf utf-8 irgendwas verändern.
Es könnte am Browsercache liegen, aber definitiv nicht an den Dateien.

Nur wenn Dateien in einem anderen Format gespeichert werden, verändert sich deren Verhalten. Manche Editoren machen das ungefragt und speichern Dateien z.B. als ANSI obwohl sie in UTF-8 waren. Sowas bedingt dann auch deine "BOM-Zeichen" am Anfang der Datei.

Gruß aus Franken

Ortwin
ConLite 2.1, alternatives und stabiles Update von Contenido 4.8.x unter PHP 7.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog

Gesperrt