Bonjour,
tout est dans le titre, voila 8 ans que je fais du PHP de maniere quasi quotidienne et l un des problemes les plus récurrents sont les problemes d encodage de chaine de caracteres
en effet, plein de parametres entre en compte :
- encodage des fichiers xml , html ou php retourné par le serveur (apache ou autre)
- encodage décrit explicitement dans les fichiers html ou xml ( ex : <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" /> )
- encodage des fichiers sources eux meme lors de la sauvegarde (attention si le projet est réalisé par plusieurs dev sur différents editeurs et systemes : windows, mac, linux...)
- caprice des navigateurs, parfois en ajax, avec certains libs l encodage interprété en JS n est pas le meme suivant les navigateurs !
- encodage dans les emails que tu envoie en PHP suivant les clients mail (outlook 2007 ou 2003,thunderbird, webmails etc...)
Bref un gros bordel
Comment peux on s en sortir ? personnellement je cherche encore...
j ai des pistes :
- écraser l encodage serveur via header('Content-Type: text/html; charset=xxxx')
- spécifier un encodage dans les fichier html ou xml (<meta http-equiv="Content-Type" ...)
-utiliser htmlentities quand ma sortie est html
- toujours utiliser le meme encodage dans mes fichiers sources
malgré cela , les problemes arrivent toujours a un moment ou l autre... des fois tout va bien sur le serveur de dev et chez le client c est la cata ...
je veux donc bien des échanges de techniques d avis eclairés (developpements elaborés utilisant php et ajax , testé sur differentes config serveur)
au niveau des normes et langages, a quand une norme que un codage de chaine de caracteres standardisé , capable de s auto décoder ?
Partager