Compatibilité PHP 8.2 sur utf8_encode (et utf8_decode)

Voir aussi #5272 (closed)

https://php.watch/versions/8.2/utf8_encode-utf8_decode-deprecated

On utilise 1 fois dans le core utf8_encode() dans https://git.spip.net/spip/spip/src/branch/master/ecrire/inc/surligne.php#L37 dans surligner_mots()

En dehors du core

  • il y a getID3 du plugin medias qui l’utilise.
  • et HTMLPurifier à venir.

Alors pour le core on pourrait utiliser mb_convert_encoding($string, 'UTF-8', 'ISO-8859-1'); à la place

Sous entendu que l’on rendre nécessaire la présence de mbstring et/ou de son polyfill, ce qui était par ailleurs suggéré dans #5056 (closed) et d’ailleurs appliqué dans la PR #5057 qui va avec.