Hallo,
ich habe eine Extension geschrieben, die mehrere Benutzerdaten abfragt und abspeichert. Die Eingaben speichere ich als XML in der Datenbank. Dafür nutze ich bisher die Funktion t3lib_div::array2xml und t3lib_div::xml2array. Allerdings hab ich Probleme mit den Umlauten und Sonderzeichen. Ü,ä,ö, ?, ! usw.
Die werden zwar in der Datenbank richtig abgespeichert, aber beim Auslesen und erzeugen diese in der Funktion t3lib_div::xml2array Fehler. Ebenso scheinen teilweise Leerzeichen entfernt zu werden.
Beispiel: <abfrage 1>Eingabe 1</abfrage 1> wird zu <abfrage1>Eingabe 1</abfrage1>
und das verursacht ebenfalls Folgefehler. Muss man die Sonderzeichen von Hand parsen oder gibts bessere XML Verarbeitungsroutinen in Typo3?
Danke
Hallo,
wenn du das nicht als xml nicht in der DB brauchst, würd ich mal ein serialize probieren
georg
Hallo,
serialize wäre eine Möglichkeit auf das XML zu verzichten. Mir gehts zwar um das Speichern der Daten, aber wie die in der Dateban abgelegt werden ist ja egal. Hab in der Zwischenzeit mal probiert, alles auf UTF8 umzustellen.
Folgendes für ich aus:
INSERT INTO mytable
(
tx_sportsclub_bookings,
uid
) VALUES (
'ü',
'102'
)
Führe ich das Statement direkt in phpmyadmin aus, so wird das ü gespeichert. Lasse ich Typo das Statement mit $GLOBALS['TYPO3_DB']->sql_query($query); ausführen so wird aus dem ü ein ü .Datenbank ist aber ebenfalls auf UTF8 eingestellt...
Soo, hab ein paar Stunden inverstiert, meine XML Verarbeitung durch Serialisierung ersetzt und das ganze klappt wunderbar. Vielen Dank für den Tip. Von UTF8 bin ich wieder ab, so kann ich auch wieder Umlaute in der Datenbank speichern... Versteh ich zwar nicht ganz aber ist mir im Moment auch egal. Bei der nächsten Seite bau ichs direkt als UTF8 auf. Hoffe es klappt dann