Recherche
Peut être aimerez-vous...
Sections du site
Sites Neamar
Lisez ces articles !
| L'apostrophe arrondie, l'encodage et les systèmes d'exploitation |
|
| Programmation et tuning - Programmation Web |
| Écrit par Neamar |
| Dimanche, 13 Décembre 2009 16:10 |
|
Si vous laissez vos membres écrire des articles ou des commentaires sur votre site, un jour ou l'autre vous serez confrontés aux problème de l'apostrophe Windows.
Dans la suite de cet article, nous étudierons l'origine de ce caractère et les problèmes qu'il entraîne. Première question à se poser, d'où vient ce caractère étrange qui s'affiche correctement dans une page encodée en ISO-8859-1 alors qu'il ne fait pas partie du jeu de caractères ? La question qui se pose est donc : comment résoudre ces problèmes ? La solution est simple, me direz-vous. Côté serveur, un simple str_replace() suffira. Oui mais non ! Juste pour vous amuser, tentez donc d'enregistrer le code suivant en ISO-8859-1 : <?php str_replace(" ’ "," ' ",$Texte); ?> Si votre éditeur n'est pas trop bête, vous aurez droit à l'erreur "impossible d'enregistrer certaines composantes de la page", logique puisque la belle apostrophe n'apparait nulle part en ISO-8859-1. Les tentatives plus abouties pour corriger le problème se solderont par un échec aussi : <?php str_replace(html_entity_decode('’',ENT_COMPAT,'UTF-8'),"'",$Texte); ?> Le problème m'a longtemps paru insoluble sans enregistrer mes pages en UTF-8, jusqu'à ce que je tombe miraculeusement sur un fichier HTML généré par Windows. Celui-ci contenait l'apostrophe maudite... et une fois le fichier ouvert sur Linux, un magnifique carré blanc s'affichait () ! Si je modifiais le fichier, je n'avais pas de remarque à l'enregistrement... la solution était donc directe : <?php str_replace('',"'",$Texte); ?> Et voilà ! Comme quoi, tout vient à point à qui sait attendre ;) Pour en savoir plus : |
| Mise à jour le Samedi, 29 Mai 2010 22:31 |

;
.