Pages :
Bonjour,

Question bête, mais j'avoue être un peu perdu question codage de caractères...

Donc, question : Qu'est-il préférable d'utiliser dans un site Web français ?

A l'heure actuelle, j'ai ceci, mais j'ai des erreurs avec les caractères accentués quand je teste avec les validateurs.
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />


Merci

@+
Salut,

J'aurai tendance a conseiller de toujours utiliser UTF8 pour être sur de son coup, mais si tu est sur de ne pas utiliser de caractères étrangers dans ton site et que tes perspectives d'avenir se limitent au web francophone, tu peut partir sur l'iso-8859-15 (le 8859-1 ne contient pas le symbole €)
Modifié par JJK801 (06 Jun 2012 - 20:50)
Modérateur
Aujourd'hui, c'est vraiment mieux d'utiliser utf8 car c'est un codage intelligent d'unicode qui n'est pas plus lourd pour notre langue.

Cependant, dans certains cas, si on se connecte à de vieux systèmes ou bdd en iso-machin, on peut bien évidemment décider de s'épargner des transcodage éprouvants.
Bonjour,

Merci pour vos réponses rapides...

a écrit :
J'aurai tendance a conseiller de toujours utiliser UTF8 pour être sur de son coup, mais si tu est sur de ne pas utiliser de caractères étrangers dans ton site et que tes perspectives d'avenir se limitent au web francophone, tu peut partir sur l'iso-8859-15 (le 8859-1 ne contient pas le symbole €)

Les perspectives d'avenir... Smiley lol C'est un site de comité des fêtes, je ne pense pas qu'un russe du fin fond de la Sibérie puisse être intéressé... Je plaisante, je n'ai rien contre les russes).


L'erreur qui est noté :

a écrit :
Erreur fatale Dans la ligne 10 et la colonne 53 du document se trouve un caractère non valable.
Ce caractère n'est pas permis dans le jeu de caractères utilisé (utf-8).

Le caractère en question est accentué...

@+
Modifié par Jason (08 Jun 2012 - 14:40)
Oui c'est sur que le comité des fêtes a peu de chance de faire de l'internationale, ou alors les fêtes sont vraiment cool Smiley langue

Pour ton erreur, je saurai pas te dire, j'ai jamais eu ce cas...
a écrit :
ou alors les fêtes sont vraiment cool langue

500 habitants et jusqu'à 4000 personnes lors des concerts...

Du style : Sangria Gratuite, Collectif Metissé, Jessy Matador, King Kuduro, Jumo Selesao, Eve Angeli, Herbert Léonard, Image, Gold, Dave, Les forbans...

Smiley cligne
Modifié par Jason (06 Jun 2012 - 21:34)
Bonjour,

Bon, je n'arrive plus à comprendre...

Comme noté au début de mon post, j'avais indique comme codage de caractère :

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />


D'après ce que j'ai pu lire, je suis passé en UTF-8 pour éviter de noter les caractères sous leur forme html.

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />


Je me retrouve maintenant avec un carré à la place des caractères spéciaux affiché dans ma page web...
Ça ressemble à ceci :

upload/21451-Capture1.gif

Que doit-on utiliser comme codage de caractères pour avoir enfin du bon français sans se casser la tête à écrire en langage codé ?

Merci

@+
Modifié par Jason (09 Jun 2012 - 11:13)
La question dans ton cas ne porte pas sur "quel jeu de caractères" mais sur l'uniformité du jeu de caractères, 3 acteurs entrent en jeu:

- Tes fichiers
- Ta meta Content-Type
- Ta base de données

Soit tu accorde les violons du départ et les mettant tous sur le même jeu de caractères (utf8 tant qu'a faire), soit tu effectue les conversions dans ton script (cette méthodes peut engendrer des conséquences plus que déplaisantes et n'est a utiliser qu'en dernier recours)

Je vois souvent des gens confrontés au même problème que toi parce qu'ils font des includes de fichiers iso dans un fichier unicode par exemple...
Modifié par JJK801 (09 Jun 2012 - 13:24)
Bonjour,

Merci pour ta réponse...

Soit tu accorde les violons du départ et les mettant tous sur le même jeu de caractères

Compte tenu des problèmes, je pars du principe, pour les essais, que je n'ai qu'un seul fichier HTML... Rien d'autres...
Le premier ne fonctionnant pas, je ne vais pas modifier tous les autres..

- Ta meta Content-Type

Ben, j'ai remis celle-ci puisque l'autre, rien ne s'affiche correctement...
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />


Si je note UTF-8, firefox détecte correctement, l'affichage de firefox passe automatiquement en UTF-8 et les caractères accentués ne s'affiche plus...

des includes de fichiers iso dans un fichier unicode par exemple... 

C'est à dire ?
Dans un fichier unicode, on écrit les caractères accentués normalement, ils devraient s'afficher aussi normalement... Non ?

@+
il ne s'agit pas d'un problème de balise meta, mais d'un problème de stockage du document html avec ton éditeur de texte. J'utilise nodepad++ et cela m'arrive d'avoir ce genre de problème. J'encode mon document selon le choix que j'ai fait avec la balise meta.

J'utilise "ISO-8859-15" sans problème aussi bien pour la balise meta que l'encodage du document html. Attention aussi aux stockages dans la base de données que tu utilises.

Pourquoi UTF-8 fonctionne ? Car c'est l'encodage par défaut.
Dans un fichier iso aussi tu les écrits normalement, sauf si tu l'affiche en tant qu'unicode.

Un é iso affiché en unicode va te donner un ?
Un é unicode affiché en iso va te donner é
Un é iso affiché en iso va te donner un é
Un é unicode afficher en unicode va te donner un é

Si tu part du principe que tu n'a qu'un fichier HTML, si tu l'enregistre en unicode (donc avec les caractères accentués affichés normalement) et que ta meta est spécifié en UTF-8, alors tu ne doit pas avoir de souci.
"JJK801" a écrit :
Si tu part du principe que tu n'a qu'un fichier HTML, si tu l'enregistre en unicode (donc avec les caractères accentués affichés normalement) et que ta meta est spécifié en UTF-8, alors tu ne doit pas avoir de souci.

Non, ce n'est pas vrai. Tu dois resté cohérent entre l'encodage de stockage de ton document html au travers de l'éditeur que tu utilises et la balise meta.

Il faut tout mettre soit en UTF-8 ou en ISO-8859-15 mais pas faire un panachage.
Bonjour,

a écrit :
Si tu part du principe que tu n'a qu'un fichier HTML, si tu l'enregistre en unicode (donc avec les caractères accentués affichés normalement) et que ta meta est spécifié en UTF-8, alors tu ne doit pas avoir de souci.

Ben, justement, si, c'est pour ça que je demande...

Lorsque je note UTF-8 dans la META et que je lis le fichier dans Firefox AVEC affichage UTF-8, c'est là que j'ai les carrés comme sur la capture un peu plus haut !

Si j'écris un « é » codé « &eacute; » avec iso-8859-1, c'est correct, mais je voulais éviter de me taper des changements de centaines de caractères...

a écrit :
J'utilise nodepad++

Oui, moi aussi...

a écrit :
Il faut tout mettre soit en UTF-8 ou en ISO-8859-15 mais pas faire un panachage.

Je vais faire simple, j'ai 1 seul fichier HTML, et c'est mal affiché...

a écrit :
Tu dois resté cohérent

Je suis cohérent... J'ai le problème lorsque tout est en UTF-8
.
Modifié par Jason (09 Jun 2012 - 18:32)
tournikoti a écrit :

Non, ce n'est pas vrai. Tu dois resté cohérent entre l'encodage de stockage de ton document html au travers de l'éditeur que tu utilises et la balise meta.

Il faut tout mettre soit en UTF-8 ou en ISO-8859-15 mais pas faire un panachage.



et donc, qu'est ce qui n'est pas vrai?

Jason a écrit :

Si j'écris un « é » codé « &amp;eacute; » avec iso-8859-1, c'est correct, mais je voulais éviter de me taper des changements de centaines de caractères...


ça c'est pas de l'iso, c'est une entité HTML, un é est un é que tu soit en iso ou en utf8
Modifié par JJK801 (09 Jun 2012 - 18:31)
a écrit :
ça c'est pas de l'iso, c'est une entité HTML, un é est un é que tu soit en iso ou en utf8

Ben, non, en ISO, si on veut afficher un caractère accentué genre é il faut noté &eacute; pour qu'il soit correctement affiché...
Et je ne veux pas passer du temps à tout noter comme ça...
non... si tu tape un é en iso et que tu l'affiche en iso, ça marche...

Je sent qu'on tourne en rond.

Qu'elle jeu de caractère affiche ton éditeur pour le fichier?
Bonsoir,

Peut-être un problème d'enregistrement de ton document HTML...
Sous Notepad++ (onglet Encodage):
1- Enregistrer en UTF-8 (sans BOM) lorsque tu enregistres ton document
2- Convertir en UTF-8 (sans BOM) si le document a déjà été enregistré sous un autre encodage

A essayer...
a écrit :
Qu'elle jeu de caractère affiche ton éditeur pour le fichier?

On parle de Notepad++
Ou est-ce que tu le vois ?

a écrit :
si tu tape un é en iso et que tu l'affiche en iso, ça marche...

Alors pourquoi faut-il écrire un é en &eacute;

a écrit :
Je sent qu'on tourne en rond.

Viiiiiiiiiiiii, et c'est justement le genre de problème gonflant à souhait Smiley lol Smiley lol

a écrit :
Sous Notepad++ (onglet Encodage):

Je suis en train d'explorer cette piste...

Pour résumer, à la base, les pages ont été créées avec Dreamweaver en iso-8859-1
Ce qu'il me faut, c'est un max de compatibilité avec les navigateurs récents ou anciens, sachant que ce site n'est pas destiné aux pays étrangers...
Modifié par Jason (09 Jun 2012 - 19:01)
Jason a écrit :

On parle de Notepad++
Ou est-ce que tu le vois ?


Aucune idée, je suis sur Komodo et c'est en bas a droite, mais je ne connais pas bien Notepad++

Jason a écrit :

Alors pourquoi faut-il écrire un é en &eacute;


Il ne faut pas justement, c'est ce que j'essaye de t'expliquer, change l'encodage comme te l'a expliqué 6l20, et dit nous ce que ça donne
Je parle pas d'iso car c'est trop général. Soit un peu plus précis !
Si tu parles de l'encodage sous notepad++, voici ce qui est à notre disposition sous l'onglet Encodage :
Encoder en ANSI
Encoder en UTF-8 (sans BOM)
Encoder en UTF-8
Encoder en UTF-16BE
Encoder en UTF-16LE
Codage de caractères -->
-------------------------
Convertir en ANSI
Convertir en UTF-8 (sans BOM)
Convertir en UTF-8
Convertir en UTF-16BE
Convertir en UTF-16LE


Le document html est stocké sur ton ordinateur avec un encodage qui dépend de ton éditeur de texte (notepad++).
Voir l'onglet encodage sous notepad++ qui désigne le choix que tu as fais.
Chez moi, j'utilise ISO-8859-15 (encodage --> codage de caractères --> langue d'europe occidentale --> ISO-8859-15).

Dans mon document html, la balise "meta charset" est à ISO-8859-15 et rien d'autre.
Pourquoi ISO-8859-15 ? Car j'ai encodé mon document en ISO-8859-15.

Mettre la balise meta dans le document n'a aucune influence sur le stockage, dans ton ordinateur.
Cette balise sert à interpréter le jeu de caractères que tu utilises sur le navigateur.

Donc si tu mets un "é" dans le document html, ce "é" est codé avec la valeur x.
Le x ne bouge pas dans le document. Mais selon la balise meta, il ne sera pas interprété de la même façon.
C'est pour cela que l'on a des caractères graphiques bizarres qui parfois apparaissent.

Tu peux très bien avoir un document visuellement correctement sous notepad++ et avoir un mauvais affichage sous le navigateur.
Exemple : Convertir en UTF-8 (sans bom) avec une balise meta ISO-8859-15.
Dans le fichier le caractère "é" est correcte mais pas dans le navigateur.

Ce problème est l'erreur classique du débutant.
Modifié par tournikoti (09 Jun 2012 - 19:31)
Pages :