Signatur
Beschreibung
recode() ist ein Alias der Funktion recode_string() und verwendet die GNU-Recode-Bibliothek, um Zeichenkodierungen zu konvertieren. Der Parameter $request beschreibt dabei die gewünschte Konvertierung in der Recode-Notation, z. B. "ISO-8859-1..UTF-8", um von Latin-1 nach UTF-8 umzukodieren.
Die Funktion ist nützlich, wenn Strings zwischen verschiedenen Zeichensätzen konvertiert werden müssen und die GNU-Recode-Erweiterung zur Verfügung steht. In modernen PHP-Projekten wird diese Funktion jedoch kaum noch eingesetzt, da iconv() oder mb_convert_encoding() wesentlich verbreiteter und besser gepflegt sind.
Achtung: Die Recode-Erweiterung (ext/recode) wurde in PHP 7.4 als veraltet markiert und in PHP 8.0 vollständig entfernt. Sie steht in PHP 8 nicht mehr zur Verfügung.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $request Pflicht | string | Recode-Anforderungsstring, der Quell- und Zielkodierung beschreibt, z. B. "ISO-8859-1..UTF-8". |
|
| $string Pflicht | string | Der zu konvertierende Eingabe-String. |
Rückgabewert
false zurückgegeben.Beispiele
Einfache Zeichenkodierung von Latin-1 nach UTF-8
<?php
// Nur verfügbar bis PHP 7.3 (Erweiterung in 7.4 deprecated, in 8.0 entfernt)
$latin1String = "Sch\xF6nes Wetter";
$utf8String = recode("ISO-8859-1..UTF-8", $latin1String);
if ($utf8String !== false) {
echo $utf8String;
} else {
echo "Konvertierung fehlgeschlagen.";
}
Alternative mit iconv() für PHP 8 und neuere Projekte
<?php
// Empfohlene Alternative zu recode() / recode_string()
$latin1String = "Sch\xF6nes Wetter";
$utf8String = iconv("ISO-8859-1", "UTF-8", $latin1String);
if ($utf8String !== false) {
echo $utf8String;
} else {
echo "Konvertierung fehlgeschlagen.";
}
// Wichtig · Fallstricke
Deprecation und Entfernung: Die recode-Erweiterung (und damit recode() sowie recode_string()) wurde in PHP 7.4 als veraltet (deprecated) eingestuft und in PHP 8.0 vollständig aus dem Kern entfernt. Neuer Code sollte stattdessen iconv() oder mb_convert_encoding() verwenden.
Die Funktion ist lediglich ein Alias für recode_string() — beide sind funktional identisch. Unterschiede in der Parameterreihenfolge gegenüber iconv() sollten beim Migrieren beachtet werden.