Mehrdimensionales Array

Du braucht es bloß einzufügen. Am besten dort, wo die Datenbankverbindung aufgebaut wird.
mysql_query("SET character_set_results = 'utf8', character_set_client = 'utf8', character_set_connection = 'utf8', character_set_database = 'utf8', character_set_server = 'utf8'");

In welchen Zeichsatz Du codieren willst, kannst Du hier entnehmen:
http://dev.mysql.com/doc/refman/5.1/en/charset-charsets.html


 
Das Problem, was ich damit bekomme ist aber auch wieder, dass ich ja in der DB iso-Daten habe, in der XML utf-8. Und es folgen Abfragen wo im Prinzip das utf-8 zum Beispiel mit where = dbwert = xmlwert machen. Also hab ich dort ja utf8 = iso und das ist halt das Problem. Bzw. anschließend trage ich ja auch die utf-8 werte teilweise auch in die DB ein und dort sollen sie iso haben. Deswegen ist eben in meinen Augen das sinnvollste die Daten gleich am Anfang zu ändern, denn das sind ungefähr 30 oder sogar noch mehr DB-Abfragen die dort folgen.
 
Hi....ich muss leider nochmal nachfragen, denn ich komm leider nicht weiter. Hier nochmal das Problem bis jetzt zusammengefasst. Denn ich bin schon einige Schritte weiter gekommen.

Ich habe beispielsweise folgende Ausgabe aus simpleload_xml_file:

CODE
SimpleXMLElement Object
(
[bluberer] => SimpleXMLElement Object
(
[name] => test
[version] => 2.5
[beschreibung] => Das ist ein neuer Test...
[isa] => 1
[isb] => 1
)

[bluber] => Array
(
[0] => SimpleXMLElement Object
(
[name] => install_test
[beschreibung] => das sit der Installtest...mit einem ü und einem ä
[infos] => Ich bin auch mit ö und ü schön!
[data] => asdfas dfasd f
)

[1] => SimpleXMLElement Object
(
[name] => neuertemplatekomptest
[beschreibung] => SimpleXMLElement Object
(
)

[infos] => asöjlasöflj
[data] => asdfasdfd d
)

[2] => SimpleXMLElement Object
(
[name] => Test mit ü und ö
[beschreibung] => das sit der Installtest...mit einem ü und einem ä
[infos] => Mit ö oder ü ist es toll.
[data] => Template mit ü oder ö
)

[3] => SimpleXMLElement Object
(
[name] => update_test
[beschreibung] => der update-test
[infos] => SimpleXMLElement Object
(
)

[data] => Das ist jetzt der update-Test
)

)

[blub] => SimpleXMLElement Object
(
[name] => Neuer Name
[name_link] => name_neu
[beschreibung] => Das ist das tolle Feld...
[feldart] => 1
[v1] => dsadf
[v2] => asdf
[v3] => asdf
[v4] => das
[v5] => sadf
)

)





Und hier muss eben alles, was als Values drin ist durch eine Funktion durch. Dafür hab ich aktuell die hier:


CODE
function xmlObject2Array($value){
if (is_object($value)){
settype($value,'array');
}
return is_array($value)
? array_map('xmlObject2Array', $value)
: utf8_decode($value);
}



Die Funktion läuft jetzt auch korrekt, aber es kommt jetzt das bei raus:


CODE
Array
(
[blubblub] => Array
(
[name] => testkomp
[version] => 2.5
[beschreibung] => Das ist ein neuer Test...
[isa] => 1
[isb] => 1
)

[bluberer] => Array
(
[0] => Array
(
[name] => install_test
[beschreibung] => das sit der Installtest...mit einem ü und einem ä
[infos] => Ich bin auch mit ö und ü schön!
[data] => asdfas dfasd f
)

[1] => Array
(
[name] => neuertemplatekomptest
[beschreibung] => Array
(
)

[infos] => asöjlasöflj
[data] => asdfasdfd d
)

[2] => Array
(
[name] => Test mit ü und ö
[beschreibung] => das sit der Installtest...mit einem ü und einem ä
[infos] => Mit ö oder ü ist es toll.
[data] => Template mit ü oder ö
)

[3] => Array
(
[name] => update_test
[beschreibung] => der update-test
[infos] => Array
(
)

[data] => Das ist jetzt der update-Test
)

)

[blub] => Array
(
[name] => Neuer Name
[name_link] => name_neu
[beschreibung] => Das ist das tolle Feld...
[feldart] => 1
[v1] => dsadf
[v2] => asdf
[v3] => asdf
[v4] => das
[v5] => sadf
)

)



Also alles grundsätzlich richtig...nur die Arten nichtmehr. Also jetzt ist ja alles "Array" und vorher war es größtenteils ja "SimpleXMLElement Object".
Da sich diese Art jetzt geändert hat, funktioniert auch die Bearbeitung der Daten im späteren Verlauf nicht mehr.
Deswegen jetzt also nochmal die Frage: Gibts noch irgendwie die Möglichkeit die Datentypen auch noch gleich zu halten? Also wirklich ne 1:1 Kopie vom Beginn, die jetzt halt nur komplett durch die Funktion gezogen wurde?

Dankeschön für die nette Hilfe
 
Zurück
Oben