utf8_decode()
Die Funktion utf8_decode() ist eine integrierte PHP-Funktion, die eine Zeichenkette mit UTF-8-Codierung in eine ISO-8859-1-Codierung umwandelt. UTF-8 ist ein beliebtes Zeichencodierungsformat, das alle Unicode-Zeichen unterstützt, während ISO-8859-1 ein Standard-Zeichencodierungsformat ist, das nur eine begrenzte Menge an Zeichen unterstützt.
Hinweis: utf8_decode() ist seit PHP 8.2 veraltet. Verwenden Sie für moderne Anwendungen stattdessen mb_convert_encoding($string, 'ISO-8859-1', 'UTF-8').
Die Funktion ist nützlich, wenn Sie UTF-8-codierten Text haben, der in einem System angezeigt oder verwendet werden muss, das nur die ISO-8859-1-Codierung unterstützt. Durch die Verwendung von utf8_decode() können Sie den Text in ISO-8859-1 umwandeln und sicherstellen, dass er korrekt angezeigt oder verwendet wird.
Syntax
Die Syntax der Funktion utf8_decode() lautet wie folgt:
UTF-8-Zeichenkette in PHP decodieren
utf8_decode($string)wobei $string die UTF-8-codierte Zeichenkette ist, die Sie in ISO-8859-1 umwandeln möchten.
Anwendungsbeispiele
Werfen wir einen Blick auf einige praktische Beispiele zur Verwendung von utf8_decode() in PHP.
Beispiel 1: Umwandeln von UTF-8-codiertem Text in ISO-8859-1
Nehmen wir an, Sie haben eine Zeichenkette mit UTF-8-Codierung, die Sie in ISO-8859-1 umwandeln möchten. Dazu können Sie die Funktion utf8_decode() verwenden, wie hier gezeigt:
Umwandeln von UTF-8-codiertem Text in ISO-8859-1 in PHP
<?php
$text = "Zoë";
$iso_text = utf8_decode($text);
echo bin2hex($iso_text);
?>Dieser Code definiert eine Zeichenkettenvariable $text, die UTF-8-codierten Text enthält. Anschließend wird die Funktion utf8_decode() verwendet, um den Text in ISO-8859-1 umzuwandeln, und das Ergebnis in $iso_text gespeichert. Abschließend wird die hexadezimale Darstellung des ISO-8859-1-codierten Textes ausgegeben.
Rückgabewert & ungültige Sequenzen: Die Funktion gibt die umgewandelte Zeichenkette zurück oder false im Fehlerfall. Wenn die Eingabe ungültige UTF-8-Sequenzen enthält, werden diese durch ein Fragezeichen (?) ersetzt.
Beispiel 2: Umwandeln von UTF-8-codiertem Text aus XML
Nehmen wir an, Sie haben eine XML-Datei mit UTF-8-codiertem Text, die Sie lesen und in ISO-8859-1 umwandeln möchten. Dazu können Sie die SimpleXML-Bibliothek in PHP zum Lesen der XML-Datei und die Funktion utf8_decode() zur Umwandlung des Textes verwenden, wie hier gezeigt:
Umwandeln von UTF-8-codiertem Text aus XML in PHP
$xml = simplexml_load_file("data.xml");
foreach ($xml->item as $item) {
$title = utf8_decode($item->title);
$description = utf8_decode($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 <code><item></code>-Element mit einer foreach-Schleife. Innerhalb der Schleife wird die Funktion utf8_decode() verwendet, um den UTF-8-codierten Text in den <code><title></code>- und <code><description></code>-Elementen in ISO-8859-1 umzuwandeln, und die Ergebnisse in zwei neuen Variablen $title und $description zu speichern. Abschließend wird der ISO-8859-1-codierte Text in der Konsole ausgegeben.
Damit dieses Beispiel funktioniert, sollte data.xml eine Struktur wie diese enthalten:
<root>
<item>
<title>Example Title</title>
<description>Example Description</description>
</item>
</root>Fazit
In diesem Artikel haben wir die PHP-Funktion utf8_decode() und deren Einsatz zur Umwandlung von UTF-8-codiertem Text in ISO-8859-1-codierten Text besprochen. Wir haben erläutert, was die Funktion tut, ihre Syntax vorgestellt und Beispiele für den praktischen Einsatz gegeben. Anhand dieser Beispiele können Sie utf8_decode() einfach nutzen, um UTF-8-codierten Text in ISO-8859-1 umzuwandeln und sicherzustellen, dass Ihr Text in Ihrem System korrekt angezeigt oder verwendet wird.
Practice
Was macht die utf8_decode-Funktion in PHP?