andreas: String in einem Array in UTF-8 umwandeln

Ich habe Daten aus einer Datenbank in einem mehrdimensionalen Array und möchte darin alle Stringwerte umwandeln.
htmlentities($item, ENT_QUOTES, "UTF-8") würde für den einzelnen String das richtige liefern, ich bin mir allerdings nicht sicher wie ich das rekursiv auf alle Stringwerte des mehrdimensionalen Arrays anwenden kann.
Die Funktion array_walk_recursive wäre wahrscheinlich die Lösung, aber das Beipiel hier funktioniert nicht:
(Das Beispiel steht in einer Klasse HtmlOutputComponent)

  
function utf8_array($array) {  
   array_walk_recursive($array, array('HtmlOutputComponent', 'utf8_string'));  
   return $array;  
}  
  
function utf8_string($item) {  
   return $item = htmlentities($item, ENT_QUOTES, "UTF-8");  
}  

Kann jemand helfen?

  1. Hallo andreas!

    Irgendwann füllst Du doch das Array aus einer DB. Wieso setzt Du nicht an dieser Stelle an und konvertierst dort?

    Schönen Gruß

    Afra

    1. Irgendwann füllst Du doch das Array aus einer DB. Wieso setzt Du nicht an dieser Stelle an und konvertierst dort?

      Ich benutze CakePHP als Framework und bekomme das Array eigentlich fixfertig geliefert. Darum wäre es einfacher nachträglich noch die Codierung zu ändern.

    2. Irgendwann füllst Du doch das Array aus einer DB. Wieso setzt Du nicht an dieser Stelle an und konvertierst dort?

      Ich habe auf deine Anregung hin noch einmal nachgeforscht und tatsächlich eine Möglichkeit gefunden.

      Fürs Archiv: "UTF-8 mit CakePHP (Englisch)"