Christian Kruse: ISO-8859-1 Sonderzeichen konvertieren

Beitrag lesen

Moin Chris82,

ich stehe gerade irgendwie auf dem Schlauch: Ich habe einen ISO-8859-1 kodierten String:

"Babelsberger Stra\u00dfe"

Naja, ob das jetzt latin1 ist, sei dahin gestellt.

Nun möchte ich, dass das "\u00df" wieder korrekt als "ß" angezeigt wird. Welche Funktion muss ich dazu verwenden?

Da ist nichts eingebaut. Du könntest dir mit pack() und preg_replace() was bauen, vielleicht so:

  
function replace_unicode($str) {  
  $packed = pack('H*', $str[1]);  
  return mb_convert_encoding($packed, 'UTF-8', 'UCS-2BE');  
}  
  
$str = preg_replace_callback('/\\\\[uU]([0-9a-fA-F]{4})/', 'replace_unicode', $str);  

LG,
 CK