dedlfix: Klasse erzeugt unerklärlichen output

Beitrag lesen

echo $begrüßung;

Hast du mal vor und nach dem Aufruf der Klasse mindestens ein Zeichen ausgeben lassen? Ich bin mir sicher, dass dein □ noch davor erscheinen wird.

Nein, erscheint dann dazwischen.

Kürze deine Klasse auf das zusammen, was du brauchst, um den Fehler nachzuvollziehen. Ist er dann weg, lag er im gekürzten Teil. Ist er noch da, untersuche den übriggebliebenen Rest, zur Not mit einem Hex-Editor. Wenn du nichts feststellen kannst, schreibe diesen Minimalteil neu (nicht kopieren) und prüfe damit. Ist er weg, füge den Rest der Klasse hinzu.

Schreibst du vielleicht den Quelltext mit dem Notepad von Windows und speicherst als UTF-8?

Nein, UltraEdit aber trotzdem als UTF-8. Habe auch schon nach ASCII konvertiert und es ging trotzdem nicht.

Ich hatte erst eine BOM (oder Teile davon) im schwachen Verdacht. Doch das ist es nicht. Das Zeichen □ ist in Hex E2 96 A1 (utf-8), entspricht in Unicode 25 A1 und ist kein Ersatzzeichen sondern absichtlich ein weißes Quadrat (oder es ist auf dem Weg hierher entstellt worden).

echo "$verabschiedung $name";