UTF-8 uniquement, le reste c’est le passé… MAIS il y a un dernier hic et il est de taille.
Par exemple MySQL est complètement UTF-8 (y compris le fait que 1 caractère UTF-8 est compté comme 1 caractère, même s’il est constitué de plusieurs octets). Tout va bien.
Sauf que PHP 5 n’est toujours pas compatible UTF-8. C’est prévu dans PHP 6 mais pour l’instant quand on extrait des données dans MySQL en UTF, au premier traitement de chaîne de caractères par le script PHP on se retrouve avec un encodage pourri. Pareil pour traiter des chaînes extraites d’un champ ou d’un fichier.
Donc tout est bon sauf PHP qui oblige encore à utiliser des encodages stupides comme les ISO. Un bon exemple est le forum MacNOMODO qui utilise MySQL et PHP et qui est donc, hélas dans un vieil encodage. À propos, vous savez lequel ? Ça c’est pire que tout ! Je viens de jeter un œil au source : windows-1252 ! Quelle honte…
Donc en PHP 6 tout ira bien, paraît-il, mais je ne sais pas quand ça sortira et encore moins quand les hébergeurs le proposeront en standard. PHPMyAdmin s’en sort pour lire et écrire de l’UTF-8, mais je ne sais vraiment pas comment ils font. Les traitements passent par des usines à gaz que j’ai renoncé à comprendre.
_______________
J’étais né pour rester jeune et j’ai eu l'avantage de m’en apercevoir le jour où j’ai cessé de l'être.
Épitaphe de Georges Moinaux, dit Courteline