20.05.2008, 19:22
Hi, bin zur Zeit dabei das Forensystem Discuz 6.0.1 ins Deutsche zu übersetzen. Leider scheint das System ein Problem mit Umlauten zu haben, denn alle Daten, die in die Datenbank gespeichert werden, werden um die Umlaute und alle nachfolgenden Zeichen gekürtzt. Ich kann einen noch so langen Text verfassen, ab dem ersten Umlaut ist nichts mehr zu sehen.
Die Kollation der Tabellen ist utf8_general_ci, mit welcher ich bis jetzt keine Probleme hatte. Kurze Zeit spielte ich mit einer Lösung herum, einfach in der common.php, die String in der Variablen-Übernehmungs-Schleife mit htmlentities() zu escapen. Allerdings ist dies nicht sehr sinnvoll, da Strings gewöhnlich erst bei der Ausgabe escapet werden sollten (leider keine Umlaute mehr dazu vorhanden).
Ausserdem werden die MySQL-Abfragen in einigen Bereichen der Software zusätzlich noch escapet, wodurch nette Ausgaben wie"Übersetzung" herauskommen.
Meine Frage ist nun:
Woran kann das liegen? Ich bin mir sehr sicher, dass dies nicht am Forum, sondern an der Datenbank liegt. Die Daten verschwinden schon bei dem Insert in die Datenbank. Ich hab schon öfters von derartigen Bugs in UTF8 gehört, hatte bisher jedoch keine solchen Probleme. Bin also ziemlich verwirrt und hilflos.
Mfg. Odious
Die Kollation der Tabellen ist utf8_general_ci, mit welcher ich bis jetzt keine Probleme hatte. Kurze Zeit spielte ich mit einer Lösung herum, einfach in der common.php, die String in der Variablen-Übernehmungs-Schleife mit htmlentities() zu escapen. Allerdings ist dies nicht sehr sinnvoll, da Strings gewöhnlich erst bei der Ausgabe escapet werden sollten (leider keine Umlaute mehr dazu vorhanden).
Ausserdem werden die MySQL-Abfragen in einigen Bereichen der Software zusätzlich noch escapet, wodurch nette Ausgaben wie"Übersetzung" herauskommen.
Meine Frage ist nun:
Woran kann das liegen? Ich bin mir sehr sicher, dass dies nicht am Forum, sondern an der Datenbank liegt. Die Daten verschwinden schon bei dem Insert in die Datenbank. Ich hab schon öfters von derartigen Bugs in UTF8 gehört, hatte bisher jedoch keine solchen Probleme. Bin also ziemlich verwirrt und hilflos.
Mfg. Odious