Ich krieg noch nen Kackreiz hier.
Ich sitze jetzt echt seit 3 Tagen an einem Projekt und kriege es nicht hin die Umlaute auf allen Seiten richtig darzustellen.
Dateien werden includiert, per IFrame geladen, per XMLHttpRequest abgefragt, als JSON zurückgegeben und natürlich werden Daten aus der MySQL Datenbank abefragt und sowohl per GET als auch per POST übergeben. Und da die Abfrage und Codierung zentral in einer Include Datei stattfindet klappt da überhaupt nix.
Das ist mein erster Eintrag unter “dumme Programmierer” wo es um mein eigenes Zeug geht.*g* Ja, ich bin anscheinend zu doof die Scripte so abzuändern, dass überal UTF-8 rauskommt… oder wenigstens überall das gleiche. Wäre ja nicht mal so schlimm, wenn die Datenbank schon auf UTF-8 eingestellt wäre. Aber nein.. die benutzt eine andere Codierung und ist vorgegeben; kann ich also nicht eben umstellen.
Das Encoding ist echt ein krampf mit dem ich vorher zum Glück nicht so konfrontiert worden bin. Aber das eine oder andere graue Haar ist mir deswegen schon gewachsen.
Drumm wollten mir meine Kollegen schon diess T-Shirt schenken:

Danke Jungs, aber ich hab mir das nun schon bei getDigital gekauft.
Das musste einfach mal sein.









October 13th, 2008 at 07:14
Mmhh also ich habe UTF-8 auch bei eine MySQL zum Laufen gekriegt, auf das ich keinen Server-Zugriff hatte, also lediglich PHPMyAdmin. Und was damit geht, geht auch direkt in PHP.
Wichtig ist, dass der Datenbank dafür direkt nach dem Erstellen der Verbindung und vor der ersten eigentlichen Abfrage gesagt wird, dass UTF-8 verwendet werden soll. Dabei ist außerdem genau auf die Schreibung von UTF-8 für MySQL (nämlich ohne Bindestrich) zu achten:
mysql_query(”SET NAMES ‘utf8′”, $this->con);
Als Kollation “utf8_unicode_ci”, aber das dient ja glaub vielmehr der Sortierung. Ansonsten sehe ich hier gerade keine wichtigen Einstellungen, aber ich meine, dass meine Datenbank als ich mal in der Konfiguration geschaut habe, eigentlich auf iso-8859 lief. Daher scheint es zu gehen, auch wenn die Datenbank per Konfigurationsdatei nicht auf UTF-8 eingestellt ist.
October 13th, 2008 at 08:18
Danke. Das werde ich mal probieren.
October 13th, 2008 at 09:16
Endlich ein Leidensgenosse. Nein ich bin sicher, dass viele diesen Kampf führen. Die Zeichenkodierung hat mich schon viele Nerven gekostet. Auch ich habe kürzlich ein Projekt komplett auf UTF-8 umstellen müssen. Dabei reicht es leider nicht aus, Datenbank-Kollation umzustellen und dem HTML-Header entsprechende Anweisungen für die Ausgabe mitzugeben. Richtig problematisch wird es, wenn die Datenbank bereits monatelang mit hundertausenden Einträgen gefüttert wurde, die natürlich als ISO übertragen und gespeichert wurden.
PS: Geiles Shirt, das werd ich mir bald holen. Als Dank für diesen Tipp bestelle ich das auch über deinen Ref
October 13th, 2008 at 09:57
wichtig ist es auch, über meta tags dem PHP/HTML Dokument das richtige Charset beizubringen. Also zB so:
October 13th, 2008 at 09:58
<meta http-equiv=’Content-Type’ content=’text/html; charset=UTF-8′>
?? Warum wird denn mein HTML Code gefiltert, und nicht umgesetzt, so das er angezeigt wird??
October 13th, 2008 at 11:30
Wird halt nicht defaultmäßig jeder html code zugelassen.
Ich habs nun endlich hinbekommen. Das Problem war, dass ich grundsätzlich alles in UTF-8 umgewandelt habe. Problematisch nur, dass die Datenbank queries zum Teil eben wie folgt aussahen “select X,Y,Z from A where B=ümüdülü”. Wenn das Ding mit dem Ü dann schon UTF-8 codiert war wurde halt keine Übereinstimmung gefunden. Nun wird halt erst vor der einzelnen Ausageb immer auf UTF-8 gestellt. Ist halt leider unflexibel. Aber für den Moment reicht mir das.
October 19th, 2008 at 23:36
Ja das o.g. Problem kennen wir doch alle. Aber wie sagte Stromberg immer so schön:
»Büro ist zu neunzig Prozent Psycho – Krieg. «
»Wenn die dir blöde kommen, dann muss du denen NOCH blöder kommen. Sonst hängs’e ja irgendwann da wie Jesus am Karfreitag! «