(PHP 4 >= 4.0.5, PHP 5, PHP 7)
iconv — Konvertiert Zeichenketten in einen anderen Zeichensatz
$in_charset
, string $out_charset
, string $str
) : string
Die Funktion konvertiert die in Zeichensatz
in_charset
kodierte Zeichenkette str
in eine Zeichenkette mit Kodierung
out_charset
.
in_charset
Der Eingabe-Zeichensatz.
out_charset
Der Ausgabe-Zeichensatz.
Wenn Sie die Zeichenkette //TRANSLIT an
out_charset
anhängen, 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 kann. Wenn Sie die Zeichenkette
//IGNORE anhängen, werden diese nicht darstellbaren
Zeichen ohne Warnung 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, so dass die
Umwandlung für Zeichen, die illegal für den
out_charset
sind, vermutlich fehlschlägt.
str
Die zu konvertierende Zeichenkette.
Gibt die konvertierte Zeichenkette zurück. Im Fehlerfall wird FALSE
zurückgegeben.
Version | Beschreibung |
---|---|
5.4.0 |
Seit dieser Version gibt die Funktion FALSE bei nicht erlaubten
Zeichen zurück, außer wenn //IGNORE im
Ausgabe-Zeichensatz angegeben wurde. Vorher wurde eine partielle
Ausgabezeichenkette zurück gegeben.
|
Beispiel #1 iconv()-Beispiel:
<?php
$text = "This is the Euro symbol '€'.";
echo 'Original : ', $text, PHP_EOL;
echo 'TRANSLIT : ', iconv("UTF-8", "ISO-8859-1//TRANSLIT", $text), PHP_EOL;
echo 'IGNORE : ', iconv("UTF-8", "ISO-8859-1//IGNORE", $text), PHP_EOL;
echo 'Plain : ', iconv("UTF-8", "ISO-8859-1", $text), PHP_EOL;
?>
Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:
Original : This is the Euro symbol '€'. TRANSLIT : This is the Euro symbol 'EUR'. IGNORE : This is the Euro symbol ''. Plain : Notice: iconv(): Detected an illegal character in input string in .\iconv-example.php on line 7