[HTML] Problème d'accents

Petit nouveau ! | 3 Messages

24 sept. 2007, 08:51

Bonjour,

Ayant décidé de mettre en ligne un projet, je rencontre (typique) un problème avec les accents: toutes les lettres accentuées sont remplacées par un "?".

Je sais que d'autres posts sur le même problème existent déjà, aussi je m'excuse de recommencer mais... j'ai passé un certain temps à chercher la solution, trouvé des probèmes similaires et testé les solutions données, mais rien n'y fait. Afin d'effectuer des tests plus simplement, j'ai simplement placé le fichier suivant sur mon hébergeur:


index.hml

<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head><body>
é
<br>
è
</body></html>

En remplaçant l'iso-8859-1 par UTF-8, aucun changement, dans les deux cas, la page web, une fois affichée, donne:

?
?

L'hébergeur tourne sous UNIX. Remplacer "é" par "&eacute;" fonctionne parfaitement bien, mais je ne me satisfait pas de cette solution (je me vois mal remplacer, dans mon projet, tous les accents par les codes correspondants d'une part, et d'autre part je trouverai cette solution peu élégante).

Le problème est d'autant plus agaçant que connu (des dizaines de posts sur ce genre de problème), et pourtant insoluble (du moins avec mes connaissances et les recherches effectuées).

Merci pour toutes vos éventuelles réponses!

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

24 sept. 2007, 09:17

Le principe de l'HTML, c'est de proposer un code permettant d'afficher correctement les différents caractère imprimable.

Par exemple, si tu veux sauter une ligne, tu écrit <br />, non ?
Et bien pour les accents, c'est la même chose. pour "é", c'est &eacute.

Je veux bien comprendre que tu ne trouve pas ça "élégant", mais c'est pourtant la meilleure manière de faire :?
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

ViPHP
ViPHP | 3607 Messages

24 sept. 2007, 09:56

il faut que tu regardes également l'encodage de ton éditeur de texte...
Qu'il soit en accord avec celui de ta page... ;-)

d0m
Mammouth du PHP | 1141 Messages

24 sept. 2007, 10:02

Remplacer "é" par "&eacute;" fonctionne parfaitement bien, mais je ne me satisfait pas de cette solution (je me vois mal remplacer, dans mon projet, tous les accents par les codes correspondants d'une part, et d'autre part je trouverai cette solution peu élégante.
Tu peux tutiliser la fonction htmlentities sur tes chaines avant de les afficher.

Invité
Invité n'ayant pas de compte PHPfrance

24 sept. 2007, 11:20

il faut que tu regardes également l'encodage de ton éditeur de texte...
Qu'il soit en accord avec celui de ta page... ;-)
Alors j'ai vite chargé notepad++ (j'utilisait juste notepad avant) et regardé un peu tout ça...

En effet, les pages étaient encodées en ANSI. En faisant la conversion -> UTF 8, plus de problèmes d'accents.

Bref, le problème est résolu, merci beaucoup!

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

24 sept. 2007, 11:38

Modération :
anarianthe, si ta question est résolue, pense à ajouter le tag [Résolu]
pour indiquer aux personnes qui voudront consulter ce sujet qu'il contient une solution.
Tu peux réaliser cette opération en cliquant sur le bouton Image en haut à gauche de ce sujet.

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute