Start · Sprachen · PHP · Referenz · recode

recode

Funktion

Alias von <code>recode_string()</code> — kodiert einen String gemäß einer Recode-Anforderung um.

seit PHP 4.0.0 Kategorie: string

Signatur

recode(string $request, string $string): string|false

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

Typ
string|false
Beschreibung
Gibt den umkodierten String zurück. Im Fehlerfall (z. B. ungültige Anforderung oder nicht unterstützte Kodierung) wird 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.";
}
Schönes Wetter

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.";
}
Schönes Wetter

// 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.