Bonjour,

j'avais ma page en iso-8859-1 et mes € fonctionnait bien a l'affichage j'ai également mis des € qui s'affichait bien...
ayant lu sur des forums que le iso-8859-15 avait été créer pour ajouter le signe euros, j'ai donc testé de mettre ma page en iso-8859-15 et la mes € fonctionnaient bien a l'affichage mais pas les € qui affichent un "?" est-ce normal ?
Salut,

Il ne suffit pas d'ajouter une déclaration de codage de caractères dans le code HTML, par le biais de l'élément meta approprié : il faut s'assurer également que le fichier est édité et enregistré sous le bon codage de caractères.
Je suis en ANSI sous notepad++

En faite au début j'avais commencé à coder en UTF-8, mais je suis passé en iso-8859-1.
Dans notepad++, j'ai vu les fonction convertir et il n'y avait que les utf et ansi, j'ai donc choisi ansi...
mais il faut que je choisisse au dessus encoder en iso-8859-1 ( ou iso-8859-15) mais ça ne va pas me mettre des caractère bizarre ?
Modifié par dzaohfz (08 Jan 2011 - 18:03)
Je viens de lire ceci :
a écrit :
Windows-1252 ou CP1252 (Wikipedia: Windows-1252)

C’est une extension d’ISO-8859-1, qui rajoute un certain nombre de caractères: œ, €, mais aussi guillemets anglais, points de suspension, signe «pour mille» (‰), tirets cadratin et demi-cadratin, etc. En tout, cela représente 218 caractères imprimables.
Windows-1252 est parfois appelé «ANSI», du nom de l’organisme américain de standardisation (qui a publié entre autre le standard ASCII!), mais ce codage n’a jamais été un standard de l’ANSI. Ce nom est donc abusif. Sachez juste que si un logiciel parle de codage «ANSI», il parle sans doute de Windows-1252.


Donc pourquoi ça ne marche pas quand je met ma page en iso-8859-15...
Si on fait une page en iso-8859-1 on peut encoder en ANSI mais pour faire une page en iso-8859-15 il faut obligatoirement encoder en is-8859-15 sous notepad ?
Salut,

Sachant que Notepad++ prend bien en compte UTF8, nous dirons que ton soucis est un mal pour un bien...

À savoir : adopter UTF-8 !

dzaohfz a écrit :
Je suis en ANSI sous notepad++

L'idéal étant de définir UTF-8 comme encodage par défaut dans Notepad++
> Paramètrage > Préférences > Onglet Nouveau document/Dossier > Encodage > Cocher UTF-8 sans BOM

dzaohfz a écrit :
pourquoi ça ne marche pas...

Pour commençer, il faut effectivement encoder (ou convertir) en UTF-8 (sans BOM).

Si des "caractères bizarres" apparaissent, ça vaut le coup de les modifier manuellement.

Une fois le fichier bien encodé et le charset déclaré dans le fichier HTML
<meta http-equiv="content-type" content="text/html; charset=UTF-8">

Il ne devrait plus avoir de soucis.


Tu peux aussi (avec PHP par exemple) "forcer" le serveur afin qu'il renvoie bien le fichier au format UTF-8 en insérant au début du fichier PHP...
<?php
header('Content-Type: text/html; charset=UTF-8');
?>

Toujours avec PHP, tu peux aussi être amener à utiliser la fonction setlocale().
<?php
setlocale(LC_ALL,'fr_FR.UTF8','fr_FR.UTF-8','fr.UTF8','fr.UTF-8');
?>
AH oui mais non pas utf-8. Déja ça me sert à rien car mon site est uniquement en français et puis j'ai eut que des problèmes avec ma base de données...
Donc je vais gardé mes fichier en ANSI et mon charset en iso-8859-1 car le euro marche bien avec....
Il y a une autre solution : utiliser un éditeur de texte qui gère mieux les codages de caractères que Notepad++ et permette de sélectionner l'ISO-8859-15 (également indiqué sous l'appellation d'ISO Latin 9).

Soit dit en passant, même si ton site est uniquement en français, rien ne t'empêche d'utiliser l'UTF-8. Smiley cligne
Modifié par Victor BRITO (09 Jan 2011 - 12:26)
Victor BRITO a écrit :
Il y a une autre solution : utiliser un éditeur de texte qui gère mieux les codages de caractères que Notepad++ et permette de sélectionner l'ISO-8859-15 (également indiqué sous l'appellation d'ISO Latin 9).

Soit dit en passant, même si ton site est uniquement en français, rien ne t'empêche d'utiliser l'UTF-8. Smiley cligne


Je l'ai dans notepad++ l'ISO-8859-15, il n'y pas le convertisseur c'est tout Smiley smile
L'UTF-8 ,j'ai essayé mais j'ai rien réussi à faire, j'ai passé des heures a faire toutes les combinaison possible et les inscriptions avec des é è etc... ne fonctionnait pas et en passant en ISO-8859-1 tout s'est mis a marché correctement Smiley smile
La j'hésite à laissé mes fichiers en ANSI et mon charset en iso-8859-1 car ça marche très bien comme ça et même le € qu'il soit en € ou &euro; ...
Ou alors je passe mes fichiers en iso-8859-15 et mon charset en ISO-8859-15 mais je ne vois pas la nécessité de le faire...
Modifié par dzaohfz (09 Jan 2011 - 17:16)
Alors que faire ? resté en iso-8859-1 avec les € et &euro; qui s'affiche bien ? ou bien passer à l'iso-8859-15 et donc changer mes fichier en iso-8859-15 pour que ça fonctionne correctement. Est-ce que c'est vraiment utile ? vu que bizarrement le iso-8859-1 qui n'est pas censé avoir le € l'a pourtant très bien...
Quelques paramètres:
1. Tu ne maitrises pas la question des codages de caractères, tu ne comprends pas en détail comment ça marche et surtout tu ne sais pas exactement comment configurer les outils que tu utilises (éditeur de code, scripts PHP, base de données...) pour gérer correctement un encodage précis.
2. L'état actuel des choses (pages en ISO-8859-1, configuration par défaut des outils que tu utilises) marche suffisamment bien pour tes besoins.

La solution: laisse les choses en l'état, mais par contre essaie d'être prudent et d'utiliser uniquement les caractères présents dans ISO-8859-1, et pas les quelques caractères supplémentaires présents dans ISO-8859-15 ou Windows-1252. Concrètement, ça veut dire qu'il vaut mieux écrire tes signes euro comme une entité HTML: &euro;.

(Ce conseil n'est valable que si tu montes un site en amateur. Si tu est développeur web pro, ou aspirant pro, il faut bien sûr maitriser la question des codages de caractères, et par ailleurs il est temps de passer massivement à UTF-8.)
Florent V. a écrit :
La solution: laisse les choses en l'état, mais par contre essaie d'être prudent et d'utiliser uniquement les caractères présents dans ISO-8859-1, et pas les quelques caractères supplémentaires présents dans ISO-8859-15 ou Windows-1252. Concrètement, ça veut dire qu'il vaut mieux écrire tes signes euro comme une entité HTML: &euro;.

Non seulement il vaut mieux, mais surtout il le faut : le validateur du W3C invalide à juste titre l'emploi d'un caractère qui ne fait pas partie du jeu de caractères employé (surtout en HTML 4).
arfff c'est du semi-pro Smiley langue

J'ai bien deja mis tous les € en &euro;
Je laisse mon charset sur ISO-8859-1 mais dans mon éditeur je peux laisser ANSI ou il faut obligatoirement que je mette en ISO-8859-1 ?
dzaohfz a écrit :
arfff c'est du semi-pro Smiley langue

Le conseil marche pour du semi-pro. Smiley smile

dzaohfz a écrit :
Je laisse mon charset sur ISO-8859-1 mais dans mon éditeur je peux laisser ANSI ou il faut obligatoirement que je mette en ISO-8859-1 ?

Il vaut mieux mettre ISO-8859-1 dans ton éditeur. À priori "ANSI" c'est le nom abusif donné par certains éditeurs au codage Windows-1252. Il y a quelques différences entre Windows-1252 et ISO-8859-1, et si tu déclares en ISO-8859-1 des données qui sont en fait en Windows-1252 ça peut te jouer des tours.