(PHP 4 >= 4.0.5, PHP 5, PHP 7, PHP 8)
iconv — Konvertiert eine Zeichenkette von einem Zeichensatz in einen anderen
Diese Funktion konvertiert die Zeichenkette string
vom Zeichensatz from_encoding
in den Zeichensatz to_encoding
.
from_encoding
Die aktuelle Kodierung, die zur Interpretation von string
verwendet wird.
to_encoding
Die gewünschte Kodierung des Ergebnisses.
Wenn die Zeichenkette //TRANSLIT
an to_encoding
angehängt wird, wird die Transliteration aktiviert. Das bedeutet, dass ein Zeichen, das im Zielzeichensatz nicht dargestellt werden kann, mit einem oder mehreren ähnlich aussehenden Zeichen annähernd dargestellt werden darf. Wenn die Zeichenkette //IGNORE
angehängt wird, werden diese nicht darstellbaren Zeichen stillschweigend verworfen. Ansonsten wird eine E_NOTICE
erzeugt und die Funktion gibt false
zurück.
Ob und wie //TRANSLIT
genau funktioniert, hängt von der iconv()-Implementierung des Systems ab (vgl. ICONV_IMPL
). Einige Implementierungen sind bekannt dafür, //TRANSLIT
zu ignorieren, sodass die Umwandlung für Zeichen, die illegal für den Zeichensatz to_encoding
sind, vermutlich fehlschlägt.
string
Die zu konvertierende Zeichenkette.
Gibt die konvertierte Zeichenkette zurück. Bei einem Fehler wird false
zurückgegeben.
Beispiel #1 iconv()-Beispiel:
<?php
$text = "Das ist das Euro-Symbol: '€'.";
echo 'Original : ', $text, PHP_EOL;
echo 'Mit TRANSLIT : ', iconv("UTF-8", "ISO-8859-1//TRANSLIT", $text), PHP_EOL;
echo 'Mit IGNORE : ', iconv("UTF-8", "ISO-8859-1//IGNORE", $text), PHP_EOL;
echo 'Ohne Zusatz : ', iconv("UTF-8", "ISO-8859-1", $text), PHP_EOL;
?>
Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:
Original : Das ist das Euro-Symbol: '€'. Mit TRANSLIT : Das ist das Euro-Symbol: 'EUR'. Mit IGNORE : Das ist das Euro-Symbol: ''. Ohne Zusatz : Notice: iconv(): Detected an illegal character in input string in .\iconv-example.php on line 7
Hinweis:
Welche Zeichenkodierungen und Optionen verfügbar sind, hängt von der installierten iconv-Implementierung ab. Wenn
from_encoding
oderto_encoding
vom aktuellen System nicht unterstützt wird, wirdfalse
zurückgegeben.