$test='Österreich';
echo htmlentities($test);
Er müsste es doch nprmal umwandeln, nicht verschlucken!!Definiere "normal"! htmlentities() ist darauf angewiesen, die verwendete Kodierung zu kennen, sonst kann es aus den Bytes keine Zeichen herauslesen. Versorge den $encoding-Parameter passend (siehe PHP-Handbuch). Aber andererseits braucht man htmlentities() nicht, wenn man die verwendete Zeichenkodierungen ordentlich dem nachfolgenden System bekanntgibt. Dann reicht nämlich ein htmlspecialchars().
bzw wenn man zum erzeugen seines Quelltexts eine Funktion wie z.B. SimpleXML nutzt entfällt auch das weitgehend, die Methoden wie z.B. addAttribute oder addChild kümmern sich schon automatisch darum - außer beim & als Elementinhalt per addChild() - das muss man manuell als & maskieren, da der Parser nicht riechen kann, ob man hier eine Referenz machen möchte oder das & im Klartext drin stehen soll.