PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : String von charsetA nach charsetB konvertieren



Qudus
09-03-2006, 18:55
hi

Ich habe einen String, den ich als UTF-8 einlese. Nun will ich die Umlaute in HTML-Steuerzeichen konvertieren, damit ich den String in einer UTF-8-XHTML-Seite verwenden kann. Z.B. ein str_replace("ü", "ü", $utfString); funktioniert nicht, da die Funktion das ü aufgrund des "falschen" charsets nicht erkennt.

Ich habe leider keine Funktion gefunden, um den String von UTF-8 nach bsp. ISO-8859-1 zu konvertieren. htmlSpecialChars() konvertiert keine Umlaute und htmlSpecialChars() und htmlEntities() konvertieren zu viel. Daher bin ich einen kleinen Umweg gegangen:


$ isoString = html_entity_decode(htmlEntities($utfString, ENT_NOQUOTES, "UTF-8"), ENT_NOQUOTES);

Mit diesem String kann ich dann weiterarbeiten, und die Umlaute gezielt ersetzen. Allerdings bedeutet das natürlich unnötigen Rechenaufwand.

Ich denke mir aber, dass das doch keine ungewöhnliche Problemstellung im PHP-Bereich ist. Es sollte also eine entsprechende Funktion geben. Kann mir vielleicht jemand sagen, wie die heißt?

Gruß, Qudus

nEox
09-03-2006, 19:37
Hallo Qudus,

ich tippe mal auf utf8_decode und utf8_encode - wenn ich deinen Post richtig verstanden habe sollte das die Lösung sein.

Grüße,
nEox