Problèmes d'accents sur Internet

Salut,

voilà, tout est (presque) dans le titre. Certains sites que je visite depuis mon mac avec firefox affichent des ? à la place des caractères accentués ou spéciaux. Et comme un dessin vaut mieux qu’un long discours, voici les symptômes :

Des idées quelqu’un ?

[quote=“fabiouchka, post:1, topic: 33804”]Salut,

voilà, tout est (presque) dans le titre. Certains sites que je visite depuis mon mac avec firefox affichent des ? à la place des caractères accentués ou spéciaux. Et comme un dessin vaut mieux qu’un long discours, voici les symptômes :

Des idées quelqu’un ?[/quote]

Ca ressemble à un problème de détection du jeu de caractère du site visité.

Peux-tu vérifier que dans le menu « Affichage », sous-menu « Encodage des caractères, tu ais la valeur de « Détection automatique » à « (Désactivée) » ?

Oui, c’est bien sur Désactivé

OK

Par contre je n’avais pas vu le « certains sites ». Il arrive parfois qu’il y ait un mélange dans les jeux de caractères avec Firefox dans certains cas. Pour transmettre le jeu de caractères utilisé pour le texte, il existe deux méthodes :

  • dans le flux HTTP entre le serveur et le client, le serveur place un entête « Content-type: ; Charset=<le jeu de caractères> »
  • dans le code source de la page, il y a une balise META http-equiv=« Content-Type » content=« ; charset=<le jeu de caractères> »

Quand une page est lue depuis un serveur distant, Firefox se sert de la première méthode pour déterminer le jeu de caractères à utiliser. Quand une page est lue depuis un fichier sur le disque dur, Firefox se sert de la deuxième méthode (ce qui est logique, vu qu’il n’y a plus de serveur web pour dire quel est le jeu de caractères utilisé).

Il est bien entendu que le texte dans la page web doit utiliser le jeu de caractère indiqué sous dans le code source, soit dans l’entête du flux HTTP. Et quand ce n’est pas le cas, les caractères sont mal affichés. Les causes possibles peuvent être :

  • le serveur envois une entête X avec une page utilisant Y
  • le serveur n’envois pas d’entête, du coup Firefox utilise normalement le jeux ISO-8859-1 (un jeu de caractère quasi identique à l’ASCII)
  • il y a un proxy entre le serveur et le client qui fout la merde dans le entêtes du flux HTTP (soit qui les supprime, soit qui les remplace par autre chose).

En général, quand tu as ces problèmes de caractères accentués non affichés, il faut naviguer entre « Occidental (ISO-8859-1) » et « Unicode (UTF-8) » (dans le menu « Affichage », sous-menu « Encodage des caractères »). L’encodage sélectionné par défaut étant celui que Firefox lit dans les entêtes HTTP.