Question très bete sur l'UTF-8

Dark Templar

Ex-vénérable sage
Club iGen
24 Avril 2002
16 898
1 044
Toujours là
www.pontida.fr
Bonjour,
J'utilise l'UTF-8 et du coup je ne code plus les caractères (j'écris é et pas é ).
Seulement, on m'a affirmé sur un forum qu'il fallait continuer à les coder, dites moi que c'est pas vrai... :affraid:
 
Dark Templar a dit:
Bonjour,
J'utilise l'UTF-8 et du coup je ne code plus les caractères (j'écris é et pas é ).
Seulement, on m'a affirmé sur un forum qu'il fallait continuer à les coder, dites moi que c'est pas vrai... :affraid:

C'est pour quoi? Quel compilateur??
 
ducinfo a dit:
C'est pour quoi? Quel compilateur??

??? c'est pas pour compiler : c'est pour le HTML.


Je m'associe à la question de Dark Templar (et à toutes celles qui touchent à l'UTF-8 dont je me sers de plus en plus en me demandant pourquoi diable utiliser autre-chose ?).
 
soit

<?xml version="1.0" encoding="iso-8859-1"?>

tu codes

<?xml version="1.0" encoding="utf-8"?>

les accents sont codés é è en utf-8

si tu crées ton template de php chr(int caractere);

-> utf8_encode('pr'.chr(int caractere).'senation')

les caracteres par defaut de sortie en php iso sinon modifie ton php.ini



:zen:
 
C'est très bien l'encodage automatique, mais il est vrai que les très très très vieux navigateurs ne vont pas s'y retrouver.

On peut aussi le spécifier dans une ligne méta :
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

Peut-être un peu mieux reconnu par les vieux bourrins :)
 
Vous avez pas bien saisi mon problème.
Je crée une page avec BBEdit et je spécifie que l'encodage du fichier est UTF-8 (indépendamment du code source).
Ensuite, voici le début du code source (la première ligne est inutile puisque l'encodage par défaut du xml est l'utf-8):
Bloc de code:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
        "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
<head>
	<meta http-equiv="content-type" content="text/html; charset=utf-8" />
tout est donc OK, les navigateurs savent que c'est de l'UTF-8, ce que je veux juste savoir c'est est-ce que j'ai le droit d'écrire comme je veux (ce que j'ai toujours fait et vu) ou est-ce que je dois continuer à coder les caractères (comme si c'était de l'Iso latin 1 par exemeple).
 
Cela dépend des navigateurs : soient il savent switcher tout seul quand il rencontrent la déclaration d'encodage : alors là pas de problème. Soit cela ne leur fait ni chaud ni froid (les vieux brouteurs notamment, voir safari qui est pénible à ce sujet )) et tu as droit à des ? (au mieux).
 
C'est plus la peine de t'embeter avec les accents. La majorité des machines te liront.

Mais si tu a peur des problèmes de compatibilité avec les très vieux navigateurs, prend l'encodage "iso-8859-1", il sera plus reconnu.
 
Niconemo a dit:
Safari ? Jamais constaté de problème de mon côté. C'est un défaut connu ?
Moi quand je parlais de vieux brouteurs, je pensais plutôt à Netscape 3 et explhorreur 4 et Mosaic (celui là est très vieux).

Safari est moderne, il gère parfaitement les encodages, comme mozilla, opéra et autres nouveaux butineurs.
 
Dark Templar a dit:
tout est donc OK, les navigateurs savent que c'est de l'UTF-8, ....
Oui, c'est vrai. J'ai juste rencontré un petit pb avec ICab, qui apparemment ne sait pas lire les caractères accentués codés utf-8, quand ils sont dans des formulaires gérés par du javascript.
Un exemple ici à ouvrir avec Icab