Konvertiert eine Zeichenkette von ISO-8859-1 nach UTF-8

# utf8_encode

(PHP 4, PHP 5, PHP 7, PHP 8)

utf8_encode — Konvertiert eine Zeichenkette von ISO-8859-1 nach UTF-8

Warnung

Diese Funktion ist seit PHP 8.2.0 als DEPRECATED (veraltet) markiert. Von der Verwendung dieser Funktion wird dringend abgeraten.

### Beschreibung

#[\Deprecated]
function utf8_encode(string `$string`): string

Diese Funktion konvertiert die Zeichenkette `string` von der `ISO-8859-1`-Kodierung nach `UTF-8`.

> Hinweis:

> Diese Funktion versucht nicht, die aktuelle Kodierung der angegebenen Zeichenkette zu erraten, sondern nimmt an, dass sie als ISO-8859-1 (auch bekannt als "Latin 1") kodiert ist, und konvertiert nach UTF-8. Da jede Folge von Bytes eine gültige ISO-8859-1-Zeichenkette ist, führt dies zwar nie zu einem Fehler, aber auch nicht zu einer brauchbaren Zeichenkette, wenn eine andere Kodierung vorgesehen war.

> Viele Webseiten, die ausgewiesen sind, die `ISO-8859-1`-Zeichenkodierung zu verwenden, nutzen in Wirklichkeit die ähnliche `Windows-1252`-Kodierung, und Webbrowser interpretieren `ISO-8859-1`-Webseiten als `Windows-1252`. `Windows-1252` ermöglicht zusätzliche druckbare Zeichen, so wie das Euro-Zeichen (`€`) und geschweifte Anführungszeichen (`“``”`), anstelle von bestimmten `ISO-8859-1`-Kontrollzeichen. Diese Funktion konvertiert solche `Windows-1252`-Zeichen nicht korrekt. Verwenden Sie eine andere Funktion, wenn `Windows-1252`-Konvertierung erforderlich ist.

### Parameter-Liste

`string`

  Eine ISO-8859-1-kodierte Zeichenkette.

### Rückgabewerte

Gibt die UTF-8-Übersetzung von `string` zurück.

### Changelog

Version | Beschreibung
--- | ---
8.2.0 | Diese Funktion ist veraltet.
7.2.0 | Diese Funktion wurde von der Erweiterung XML in den Kern von PHP verschoben. In früheren Versionen war diese Funktion nur verfügbar, wenn die Erweiterung XML installiert war.

### Beispiele

Beispiel #1 Grundlegendes Beispiel

`<?php
// Konvertiert die Zeichenkette "Zoë" von ISO 8859-1 nach UTF-8
$iso8859_1_string = "\x5A\x6F\xEB";
$utf8_string = utf8_encode($iso8859_1_string);
echo bin2hex($utf8_string), "\n";
?>`

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

    5a6fc3ab

### Anmerkungen

> Hinweis: Wegfall und Alternativen

> Diese Funktion ist ab PHP 8.2.0 veraltet und wird in einer zukünftigen Version entfernt. Bereits vorhandene Verwendungen sollten überprüft und durch geeignete Alternativen ersetzt werden.

> Die Funktion mb_convert_encoding() bietet eine ähnliche Funktionalität und unterstützt ISO-8859-1 und viele andere Zeichenkodierungen.

> `<?php
> $iso8859_1_string = "\xEB"; // 'ë' (e mit Trema) in ISO-8859-1
> $utf8_string = mb_convert_encoding($iso8859_1_string, 'UTF-8', 'ISO-8859-1');
> echo bin2hex($utf8_string), "\n";
> $iso8859_7_string = "\xEB"; // in ISO-8859-7 steht dieselbe Zeichenkette für 'λ' (griechisches Lambda kleingeschrieben)
> $utf8_string = mb_convert_encoding($iso8859_7_string, 'UTF-8', 'ISO-8859-7');
> echo bin2hex($utf8_string), "\n";
> $windows_1252_string = "\x80"; // '€' (Euro-Zeichen) in Windows-1252, aber nicht in ISO-8859-1
> $utf8_string = mb_convert_encoding($windows_1252_string, 'UTF-8', 'Windows-1252');
> echo bin2hex($utf8_string), "\n";
> ?>`

> Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

>     c3ab
>     cebb
>     e282ac

> Andere Optionen, die in Abhängigkeit von den installierten Erweiterungen verfügbar sein können, sind UConverter::transcode() und iconv().

> Die folgenden Beispiele führen alle zum selben Ergebnis:

> `<?php
> $iso8859_1_string = "\x5A\x6F\xEB"; // 'Zoë' in ISO-8859-1
> $utf8_string = utf8_encode($iso8859_1_string);
> echo bin2hex($utf8_string), "\n";
> $utf8_string = mb_convert_encoding($iso8859_1_string, 'UTF-8', 'ISO-8859-1');
> echo bin2hex($utf8_string), "\n";
> $utf8_string = UConverter::transcode($iso8859_1_string, 'UTF8', 'ISO-8859-1');
> echo bin2hex($utf8_string), "\n";
> $utf8_string = iconv('ISO-8859-1', 'UTF-8', $iso8859_1_string);
> echo bin2hex($utf8_string), "\n";
> ?>`

> Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

>     5a6fc3ab
>     5a6fc3ab
>     5a6fc3ab
>     5a6fc3ab

### Siehe auch

- utf8_decode() - Konvertiert eine Zeichenkette von UTF-8 nach ISO-8859-1 und ersetzt ungültige und nicht darstellbare Zeichen
- mb_convert_encoding() - Convert a string from one character encoding to another
- UConverter::transcode() - Convert a string from one character encoding to another
- iconv() - Konvertiert eine Zeichenkette von einem Zeichensatz in einen anderen

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open