OVH Cloud OVH Cloud

Probleme d'accents

4 réponses
Avatar
francoisreid
Dans mon code, je fais écrire le mot Téléchargements à l'aide d'une
variable.

Mon problème est qu'à l'affichage de ma page il y a un carré à la
place du "élé" dans le mot Téléchargements.

J'ai remarqué que si je fait un "echo" de la variable qui contient
"Téléchargements" immédiatement après la déclaration de celle-ci, il
n'y a aucun problème à l'exception du fait que j'ai le mot
Téléchargement écrit dans le haut de la page pour rien.

quelqu'un peut m'aider??

4 réponses

Avatar
bruno
tu le fait ecrire comment? quelle fonction? et quel encodage utilise tu?
Avatar
loufoque
a dit le 10/09/2005 08:08:

quelqu'un peut m'aider??


Il serait utile d'apprendre la notion de charset et ce que cela implique.
Cela devrait aider à la résolution du problème.

Avatar
dmetzler
L'article de référence pour tout ce qui est encodage :
http://french.joelonsoftware.com/Articles/Unicode.html


En gros, dans ta requête HTTP, le serveur envoye l'encoding de la
page. Par ex UTF-8. Si tu tapes tes fichiers PHP et que tu encode le
texte en ISO-8859-1, alors le navigateur va mal interpréter le texte
et afficher des carrés.

Quelques règles :
- quand on récupère du texte, il faut savoir dans quel encodage il
est
- tu dois choisir un encodage interne pour ton application
- tu dois connaitre l'encodage de sortie et l'envoyer au navigateur
avec un petit header ou mettre dans le head :

<meta http-equiv="content-type" content="text/html; charset=UTF-8" />

En tout cas le mélange n'est pas bon et faut savoir ce qu'on fait.

Bien sur tu peux aussi dire que tout fonctionne en ISO-8859-1 et ne pas
gérer les autres charsets.

Enfin, l'encodage interne des chaines de PHP est en 8 bits et ne gère
donc pas l'unicode de façon native (malheureusement...)
Avatar
loufoque
a dit le 12/09/2005 à 17:37:

Enfin, l'encodage interne des chaines de PHP est en 8 bits et ne gère
donc pas l'unicode de façon native (malheureusement...)


Ils veulent faire ça pour PHP6.

Enfin rien n'empêche de recoder les fonctions qui auraient besoin que
l'on prenne en compte utf-8. De toutes façons rien qu'avec iconv on a
iconv_substr etc. il manque pas grand chose.
Ce qui manque surtout, c'est un bon système pour gérer les collations.