Michael: XML, MySQL und Umlaute

Hallo,

ich habe eine Tabelle in der in einem Feld XML Code gespeichert ist, der mit PHP erzeugt wurde. Das Problem sind die Umlaute, die XML in etwas ä (glaube das ist ein ü) umwandelt. Wenn ich jetzt aber dieses ü in dem Feld suchen will, klappt das natürlich nicht, weil ich es nicht so encodiert habe wie PHP. Wie wandele ich die Umlaute in meinem Suchstring in ein ä o.ä. um, oder wie wandele ich ein ä zurück in ein ü ? Oder gibt es einen Weg gleich bei $dom->saveXML($node); zu sagen, dass er das nicht so encodieren soll?

Gruss, Michael

  1. Hallo nochmal,

    ich habe gemerkt, dass das der Code des Buchstabens als Hexadezimalzahl ist und habe mir diese Funktion geschrieben:

    function any_encode($str)
    {
     foreach(str_split($str) as $char)
     {
      if(ord($char) > 127)
      {
      $result .= "&#x" . strtoupper(base_convert(ord($char), 10, 16)) . ";";
      }
      else
      {
      $result .= $char;
      }
     }
     return $result;
    }

    Das tut zwar für die Fälle, in denen ich es gestest habe, aber das ist eigentlich nicht das was ich will (hätte gerne eine "saubere" Lösung, in der schon alles in der selben Encodierung abgespeichert wird).

    Gruss, Michael