Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Casse de 'from_encoding' et 'to_encoding' pour mb_convert_encoding

1 view
Skip to first unread message

Otomatic

unread,
Dec 12, 2022, 5:29:09 AM12/12/22
to
Bonjour,

Soit la fonction :
> mb_convert_encoding(array|string $string, string $to_encoding, array|string|null $from_encoding = null): array|string|false

Il est dit que :
Une value_error (Erreur Fatale) est lancée si la valeur de to_encoding
ou from_encoding est un encodage invalide.

La liste des encodages valides est obtenue sous forme de tableau par :
mb_list_encodings()
qui donne un résultat de la forme :
[...]
[23] => UTF-16BE
[24] => UTF-16LE
[25] => UTF-8
[26] => UTF-7
[...]
[35] => Windows-1252
[36] => ISO-8859-1
[37] => ISO-8859-2
[38] => ISO-8859-3
[...]
avec un mélange de majuscules et de minuscules.

Or, que ce soit pour to_encoding ou from_encoding mettre :

UTF-8 ou utf-8
Windows-1252 ou windows-1252
ISO-8859-1 ou iso-8859-1

fonctionne parfaitement et ne sort ni erreur ni avertissement.

Néanmoins, nulle part dans la documentation il n'est mentionné (tout du
moins, je n'ai pas trouvé) que les champs to_encoding et from_encoding
ne tiennent pas compte de la casse.

Avant de continuer mon script PHP, je voudrais bien savoir où trouver
cette information.

Merci.
--
Aujourd'hui, l'idéal du progrès est remplacé par l'idéal de l'innovation :
il ne s'agit pas que ce soit mieux, il s'agit seulement que ce soit
nouveau, même si c'est pire qu'avant et cela de toute évidence.
Henry de Montherlant - Va jouer avec cette poussière

Olivier Miakinen

unread,
Dec 12, 2022, 8:22:18 AM12/12/22
to
Bonjour,

Le 12/12/2022 11:29, Otomatic a écrit :
>
> [...] nulle part dans la documentation il n'est mentionné (tout du
> moins, je n'ai pas trouvé) que les champs to_encoding et from_encoding
> ne tiennent pas compte de la casse.
>
> Avant de continuer mon script PHP, je voudrais bien savoir où trouver
> cette information.

Il s'agit de « character sets », enregistrés auprès de l'IANA (Internet
Assigned Numbers Authority). C'est par exemple là que l'on voit précisé
que la casse n'est pas prise en compte :

<https://www.iana.org/assignments/character-sets/character-sets.xhtml>
§
The character set names may be up to 40 characters taken from the
printable characters of US-ASCII. However, no distinction is made
between use of upper and lower case letters.
§

Tu peux donc, sans crainte, considérer que c'est toujours vrai.

Cordialement,
--
Olivier Miakinen

Otomatic

unread,
Dec 12, 2022, 10:08:59 AM12/12/22
to
Olivier Miakinen <om+...@miakinen.net> écrivait :

> The character set names may be up to 40 characters taken from the
> printable characters of US-ASCII. However, no distinction is made
> between use of upper and lower case letters.
> §
>
> Tu peux donc, sans crainte, considérer que c'est toujours vrai.
Merci.

Et comme c'est US-ASCII uniquement, strtolower fonctionne sans problème.

Cordialement.
0 new messages