(PHP 4 >= 4.0.5, PHP 5, PHP 7, PHP 8)
iconv — Convertit une chaîne de caractères à partir d'un encodage vers un autre
$from_encoding
, string $to_encoding
, string $string
): string|false
Convertit la chaîne string
à partir de from_encoding
vers l'encodage to_encoding
.
from_encoding
L'encodage utilisé pour interpréter string
.
to_encoding
L'encodage souhaité du resultat.
Si la chaîne //TRANSLIT
est ajoutée au paramètre
to_encoding
, alors la translittération est activée.
Cela signifie que lorsqu'un caractère ne peut être représenté dans le jeu
de caractères cible, il pourrait être représenté approximativement à partir
d'un ou plusieurs caractères représentant le même caractère.
Si la chaîne //IGNORE
est ajoutée, les caractères
ne pouvant être représentés dans le jeu de caractères cible seront
tout simplement ignorés. Sinon, une alerte de niveau
E_NOTICE
sera générée et la fonction retournera
false
.
Si et comment //TRANSLIT
fonctionne exactement dépend
de l'implémentation iconv() du système (cf. ICONV_IMPL
).
Certaines implémentation sont connues pour ignorer //TRANSLIT
,
donc la conversion de caractères illégaux échouera probablement pour
to_encoding
.
string
La chaîne de caractères à convertir.
Retourne la chaîne de caractères convertie, ou false
si une erreur survient.
Exemple #1 Exemple avec iconv()
<?php
$text = "Ceci est le symbole de l'Euro '€'.";
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 'Brut : ', iconv("UTF-8", "ISO-8859-1", $text), PHP_EOL;
?>
Résultat de l'exemple ci-dessus est similaire à :
Original : Ceci est le symbole de l'Euro '€'. TRANSLIT : Ceci est le symbole de l'Euro 'EUR'. IGNORE : Ceci est le symbole de l'Euro ''. Brut : Ceci est le symbole de l'Euro ' Notice: iconv(): Detected an illegal character in input string in /Users/macbook/Desktop/- on line 8 Ceci est le symbole de l'Euro '
Note:
L'encodage de caractères et les options disponibles dépende de l'implémentation d'iconv. Si l'argument de
from_encoding
outo_encoding
n'est pas pris en charge sur le système actuel,false
sera retourné.