Discussion:
Casse de 'from_encoding' et 'to_encoding' pour mb_convert_encoding
(trop ancien pour répondre)
Otomatic
2022-12-12 10:29:06 UTC
Permalink
Bonjour,
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
2022-12-12 13:22:16 UTC
Permalink
Bonjour,
[...] 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
2022-12-12 15:08:57 UTC
Permalink
Post by Olivier Miakinen
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.

Continuer la lecture sur narkive:
Loading...