Zum Inhalt springen

utf8_encode()

Die Funktion utf8_encode() ist eine integrierte PHP-Funktion, die einen String von ISO-8859-1-Codierung in UTF-8 umwandelt. Sie ist nützlich, wenn Sie ISO-8859-1-Text in einem System anzeigen oder verarbeiten müssen, das nur UTF-8 unterstützt, um sicherzustellen, dass Zeichen korrekt gerendert werden.

Syntax

Die Syntax der Funktion utf8_encode() lautet wie folgt:

Syntax der Funktion utf8_encode()

php
utf8_encode($string)

Dabei ist $string der ISO-8859-1-codierte String, den Sie in UTF-8-Codierung umwandeln möchten.

Anwendungsbeispiele

Werfen wir einen Blick auf einige praktische Beispiele zur Verwendung von utf8_encode() in PHP.

Beispiel 1: Umwandeln von ISO-8859-1-codiertem Text in UTF-8

Nehmen wir an, Sie haben einen String mit ISO-8859-1-Codierung, den Sie in UTF-8-Codierung umwandeln möchten. Dazu können Sie die Funktion utf8_encode() verwenden, wie hier gezeigt:

Umwandeln von ISO-8859-1-codiertem Text in UTF-8

php
<?php
// Hinweis: Dieses Beispiel geht davon aus, dass die PHP-Quelldatei im ISO-8859-1-Format gespeichert ist.
// Wenn Ihr Editor Dateien standardmäßig als UTF-8 speichert, wird utf8_encode() den String doppelt codieren.
$text = "Café au lait";
$utf8_text = utf8_encode($text);
echo $utf8_text;
?>

Dieser Code definiert eine String-Variable $text mit dem ISO-8859-1-codierten Text „Café au lait“. Anschließend wird die Funktion utf8_encode() verwendet, um den Text in UTF-8-Codierung umzuwandeln, und das Ergebnis in einer neuen Variable $utf8_text gespeichert. Abschließend wird der UTF-8-codierte Text auf der Konsole ausgegeben.

Beispiel 2: Umwandeln von ISO-8859-1-codiertem Text aus XML

Nehmen wir an, Sie haben eine XML-Datei mit ISO-8859-1-codiertem Text, die Sie lesen und in UTF-8-Codierung umwandeln möchten. Dazu können Sie die SimpleXML-Bibliothek in PHP zum Lesen der XML-Datei und die Funktion utf8_encode() zur Umwandlung des Textes verwenden, wie hier gezeigt:

Umwandeln von ISO-8859-1-codiertem Text aus XML

php
<?php
$xml = simplexml_load_file("data.xml");
foreach ($xml->item as $item) {
  $title = utf8_encode($item->title);
  $description = utf8_encode($item->description);
  echo "$title: $description\n";
}
?>

Dieser Code lädt eine XML-Datei „data.xml“ mit der Funktion simplexml_load_file() und durchläuft jedes <item>-Element mit einer foreach-Schleife. Innerhalb der Schleife wird die Funktion utf8_encode() verwendet, um den ISO-8859-1-codierten Text in den <title>- und <description>-Elementen in UTF-8-Codierung umzuwandeln, und die Ergebnisse in zwei neuen Variablen $title und $description zu speichern. Abschließend wird der UTF-8-codierte Text auf der Konsole ausgegeben.

Hinweis: utf8_encode() ist in PHP 8.2 veraltet. Für moderne Anwendungen sollten Sie stattdessen mb_convert_encoding($string, 'UTF-8', 'ISO-8859-1') oder iconv('ISO-8859-1', 'UTF-8', $string) verwenden, um eine bessere plattformübergreifende Kompatibilität und eine explizite Codierungshandhabung zu gewährleisten.

Fazit

In diesem Artikel haben wir die PHP-Funktion utf8_encode() und deren Einsatz zur Umwandlung von ISO-8859-1-codiertem Text in UTF-8 besprochen. Wir haben erläutert, was die Funktion leistet, ihre Syntax vorgestellt und praktische Anwendungsbeispiele geliefert. Durch die Anwendung dieser Beispiele stellen Sie sicher, dass Ihre Textdaten für moderne Webanwendungen korrekt codiert sind.

Praxis

Was ist der Zweck der utf8_encode()-Funktion in PHP?

Finden Sie das nützlich?

Dual-run-Vorschau — vergleichen Sie mit den Symfony-Routen live.