Conversion caractères accentués, Pourquoi?

Mammouth du PHP | 985 Messages

13 sept. 2009, 18:15

Bonjour,
Après quelques discussions sur le forum:
Les caractères accentués sont souvent convertis sur beaucoup de sites Webs en ISO ou UTF-8...
J'essaye donc de comprendre l'intérêt de convertir les caractères accentués dans nos propres pages...
Car si on enregistre nos documents, html et php, dans le même encodage que celui qui est envoyé par le serveur dans les headers -> les caractères accentués s'affichent toujours normalement, que ce soit en ISO latin ou en UTF-8.

Tous les navigateurs connus sont compatibles ISO et UTF-8, et ce même en chine...
Le navigateur switch automatiquement dans l'encodage qui est précisé par le serveur...

Question 1:
Si quelqu'un peut m'expliquer dans quelles circonstances, la conversion des caractères accentués dans nos propres pages est utile?

Question 2:
Puis m'éclairer ensuite sur l'intérêt de la fonction htmlentities en ISO latin ou UTF-8?
Suppositions: des caractères spéciaux non convertis par htmlspecialchars et non affichés correctement en ISO latin et/ou UTF-8...
Ou peut-être aussi l'affichage d'un de nos articles dans une page extérieur encodée dans un autre encodage et donc dans ce cas pour éviter quelques bugs possibles d'affichage...
Face à la roche, le ruisseau l'emporte toujours, non pas par la force mais par la persévérance.

Eléphant du PHP | 199 Messages

13 sept. 2009, 20:16

Je peux te répondre à la question 2.
htmlentities est une fonction utilisée pour des raisons de sécurités.
En effet comme il évite que les balises html soient interprétés dans le navigateur lors de l'envoi des données.
Ainsi on se protège des injections html.

Mammouth du PHP | 985 Messages

13 sept. 2009, 20:19

J'avais oublié de préciser peut-être: comparé à la fonction htmlspecialchars.
Face à la roche, le ruisseau l'emporte toujours, non pas par la force mais par la persévérance.

Eléphant du PHP | 199 Messages

13 sept. 2009, 21:05

J'ai posé la même question sur un sujet que j'ai fait.
Tu as une réponse donnée :D
Voici le lien
php-debutant/htmlentities-htmlspecialsc ... 49931.html

ViPHP
ViPHP | 2287 Messages

13 sept. 2009, 21:12

Bonjour,

tu as en partie répondu à ta propre question : un site se suffit rarement à lui-même. Beaucoup de sites (si c'est pas la plupart) gèrent du contenu en provenance de l'extérieur (des utilisateurs, d'autres sites, par agrégation, de fichiers divers et variés, bref de sources diverses quoi...) et on ne peut pas maîtriser l'encodage des données reçues dans ces cas, il faut la plupart du temps faire la conversion (ou trouver des alternatives) mais dans tous les cas s'adapter, sous peine de servir une belle soupe de blob au browser.

A l'heure du web 2.0, voire même 2.1, la problématique de la gestion des différents charsets est plus que jamais une réalité.

++
if(!@work()){ Nespresso(); } else { what(); }
______________________________

Mammouth du PHP | 985 Messages

13 sept. 2009, 21:17

@Superfilou: ca y ressemble oui lol, mais ce n'est pas tout à fait le même sujet.

@Calimero: Oui ce n'est pas tout simple cette histoire...
Face à la roche, le ruisseau l'emporte toujours, non pas par la force mais par la persévérance.

Eléphant du PHP | 199 Messages

14 sept. 2009, 02:22

Je parlais sur les différences entre les deux fonctions.
J'avais posé cette question.
Et stp c'est superpilou pas super filou :D

ViPHP
AB
ViPHP | 5818 Messages

14 sept. 2009, 02:25

Bonjour,
Après quelques discussions sur le forum:
Les caractères accentués sont souvent convertis sur beaucoup de sites Webs en ISO ou UTF-8...
A moins que le hasard de mes recherches ne soit pas significatif cela ne semble pas être une majorité.
Sur une quinzaine de gros sites pris un peu au hasard, je n'ai trouvé que celui de Free dont les caractères accentués étaient tous convertis.
Pour EDF les caractères accentués sont convertis mais uniquement pour les articles.

Pour le reste - Cegetel, Sfr, l'Humanité, Libération, le Figaro, Gouvernement.fr, Vivendi, Fnac, Alsacreations, Youtube, Dailymotion, Wikipedia, Unesco, Greenpeace et pour ce forum, les caractères accentués ne sont pas convertis (à l'exception de certains caractères ici et là sans que j'en trouve une explication).