Je suis complètement perdu avec les Charset![]()
Mon serveur sert naturellement en ISO-8859-1, ce qui selon le W3C est la spécification du HTTP1.1
Mes pages définissent bien un charset en ISO-8859-1 grâce à la balise
<meta http-equiv="Content-type" content="text/html;charset=ISO-8859-1"/>
Mes pages s'affichent normalement. Cependant le validateur WHTML du W3C trouve des caractères non conforme au règles du SGML (par exemple le caractère TM) Le validateur demande de coder en UTF-8 qui serait si j'ai bien compris la norme utilisée par SGML...
Là je commence à disjoncter, car pour moi cela est en conflit avec les spécifications du W3C...
Bon, tant pis, je charche à coder en UTF-8, je change la balise META, en me doutant que cela ne suffirait pas, et effectivement cela ne suffit pas... Là le validateur me dit qu'il y a un conflit entre le header http et la déclaration de la page....
Je cherche à reconfigurer apache ... sans trouver de directive imposant le 8859-1
:
Puis je me dis ... Attend ... Même si je parviens à reconfigurer Apache pour servir en UTF-8, cela sera encore insuffisant... je me trompe ? Il faut que mon fichier d'origine soit en UTF-8 ... Bon, je développe avec Notepad++, il sait convertir en UTF-8... Mais précision supplémentaire, ce sont des pages PHP ... Donc il faut que PHP code également en UTF-8 ... Logique non ? Je cherche une directive dans le php.ini qui serait réglé à 8859-1 ... Rien Et enfin je réalise que PHP fait lui même appel à une base de donnée MySQL ... Dont la collation devra être réglée en UTF-8... Enfin cela me parait logique... Oui, mais, le contenu MySQL provient en grande partie de saisies dans des formulaires par l'utilisateur ... Et je ne contrôle pas le charset de l'utilisateur ....
Je ne sais donc pas par quel bout prendre le problème...
Quelqu'un pourrait il m'éclairer ?
Je ne suis pas sûr d'être sur le meilleur forum pour ce genre de question, mais les forums PHP et MySQL ne conviennent pas non plus à mon avis.
j'ai regardé la FAQ : rien
HELP ... Je suis PERDU !
Partager