Kleiner Fehler, große Wirkung

Vor einer ganzen Weile programmierte ich mal fleißig an meinem Forum mit SEO Freundlichen Links zu versehen. Naja mittlerweile hat mich Google schon abgestraft, 5000 Seiten im Index, das sieht doch stark nach Spaming aus :/
Tja und gestern bemerkte ich auch warum. Und zwar habe ich eine Klasse headers, um einen speziellen Header zu senden. Ich rufe ihn folgender Masen auf:
headers::send(STATUSCODE);
Für den SEO Kram daher
headers::send(301);
Die Statuscodes werden in der Klasse über eine switch() Anweisungen an den Header gesendet:
switch($code) {
case '100': $status_code = '100 Continue';
case '101': $status_code = '101 Switching Protocols';
case '200': $status_code = '200 OK';
case '201': $status_code = '201 Created';

Dumm nur, wenn man das break; vergisst. Sprich es wurde immer der falsche Statuscode gesendet. Nun weiß ich auch warum mich Google abgestraft hat 🙁 Schließlich waren es massig Links, die zum selben Kontent führten er aber mit „301 Moved Permanently“ auf die neue URL lenken sollte. Ich könnt kotzen.
Na mal sehen wanns wieder ordentlich geht!

Das Stöckchenspiel

Auf Stephans und Fixs Wunsch 😉

4 Jobs, die Du in Deinem Leben hattest
Zeitungsjunge, Programmierer, Rasenmäher (irgendwie musste ich da grad an einen Massenmörder oder so denken), hoffentlich bald Fachinformatiker 😉

4 Filme, die Du Dir immer wieder anschauen kannst
Ich kann leider nicht 4 Filme nennen sondern es nur in 4 Worten beschreiben: Alle aus meiner Sammlung 😀

4 Orte, in denen Du gewohnt hast
Flechtorf, Almke, Wolfsburg, Rhode

4 TV-Serien, die Du gerne anschaust
Stargate, Star Trek Voyager, Simpsons, Las Vegas

4 Plätze, in denen Du im Urlaub warst
Italien, Dänemark, Schweden, Bayern

4 Deiner Lieblingsessen
Fast Food und alles mit legga fleisch (ausser Geflügel)

4 Webseiten, die Du täglich besuchst
klamm.de boardunity.de php.net freemail.de

4 Bloggende, denen Du das Stöckchen zuwirfst
irgendwie haben das schon alle gemacht die ich kenn oO

4 Bücher (Sagen, Serien, Reihen), die du immer wieder gerne lesen würdest
Die Star Wars Reihe, Croniken von Narnia (obwohl ich sie immer noch nicht habe)

ist windows zu iso verwöhnt?

also da programmier ich die letzten tage so vor mich hin und mir viel immer wieder mal ein problem auf.
und zwar packte mir mein editor (ultraedit) zwei unsichtbare zeichen an den anfang meiner php dateien, die nur im hex-modus sichtbar waren. diese zeichen störten, zb wenn ich xml dateien abspeicherte, wurden diese nicht als xml dateien erkannt usw.
wie dem auch sei, war das aber nur bei bestimmten dateien so, meißt ging es nach kurzer zeit wieder.
als ich es aber mit anderen editoren versucht habe und diese zwei unsichtbaren zeichen wieder da waren, schob ich es auf einen fehler in windows, schließlich war das teil schon 26 wochen auf meinem pc. vorher hielt ich es für einen ultraedit bug, aber nu..
irgendwann wurd ich sooo sauer, dass ich windows einfach platt machte und meine unattended version drauf haute. ob mans glaubt oder nicht, die scheiße war immer noch da.
langsam nahm ich die dateien zeile für zeile auseinander und siehe da, ich kam auf den störenfried:

header(‚Content-Type: text/html; charset=UTF-8‘);

war diese zeile nicht in der global.php, waren auch diese zwei zeichen weg. da kam mir ein geistes blitz. bei den betroffenen xml dateien entfernte ich die xml deklarierung (wurden sowieso noch mal geparst, von daher sowieso unwichtig) und siehe da, auch das problem behoben. sobald im text eine utf-8 deklarierung im zusammenhang mit charset steht, gibs bei windows probleme..
irgendwie lustig oder? oder eher unlustig, ich hab damit schon sooo lange probleme gehabt 🙁
habs dann einfach bischen umgeschrieben:

define(‚CHARSET‘,’UTF-8′);
header(‚Content-Type: text/html; charset=‘.CHARSET);

dann gabs keine probleme, da ja windows das zeug ungeparst speichert..
ihr könnts ja selbst testen, klickt mal rechts und lasst euch den quellcode dieser seite anzeigen. gleich erste zeile, steht nix ungewöhnliches, nun schaut euch das mal im hex modus an, und ihr werdet sowas wie auf dem bild entdecken!! ich habs bei nem frisch installierten windows getestet.

utf-8 bug von windows

mfg