[RESOLU] Problème de caractère spéciaux

Eléphanteau du PHP | 14 Messages

04 déc. 2012, 22:44

Bonsoir,

J'ai un soucis concernant les caractères spéciaux en l'occurrence les é qui ne s'affichent pas normalement remplacé par �.

Je n'avais pas ce problème quand mon site était en html.
Là je viens de séparer mon header et footer en utilisant include et par la même occasion le problème est apparu .
Pourtant au niveau des meta j'ai cette ligne :
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
Comment faire pour résoudre ce problème ?

Merci d'avance

ViPHP
xTG
ViPHP | 7331 Messages

05 déc. 2012, 09:43

L'encodage du fichier est important si le texte est écrit en dur. (un éditeur tel que notepad++ gère l'encodage, tu le retrouves aussi dans n'importe quel EDI tel que Eclipse)
Si ton texte provient d'une base de données il faut que la table soit en utf-8 ainsi que la connexion à ta base de données.

Voici un peu de lecture sur les joies de l'encodage : faq-tutoriels/encodage-utf-t245062.html :)

Eléphanteau du PHP | 14 Messages

07 déc. 2012, 10:16

J'ai bien essayé mais dans mon footer le problème persiste , j'ai donc remplacé les é par le code html qui va bien .

Mammouth du PHP | 702 Messages

07 déc. 2012, 15:56

C'est pas une solution du tout et tu vas en baver si tu dois à tout bout de champs
écrire les accents en tapant &eacute; pareil pour tous le reste &euro; au lieu de €
tu imagine le temps perdu?

Autant faire les choses correctement dès le départ:

le meta header essaye de le mettre comme ceci: <meta http-equiv="Content-Type" content="text/html" charset="UTF-8" />
au lieu de <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

Par ailleurs est-ce que tes données proviennent de la base de données ou tu n'as pas encore de bdd pour le moment ?

quel navigateur utilises tu ?

Assure toi que l'encodage est bien en UTF-8 dans le navigateur, car s'il est en iso8859-1 alors cela signifie qu'il n'est
pas en "détection" automatique.

Si tu as une base de donnée, assure toi que tous les champs sont en utf-8 et que tu utilises bien l'interclassement adéquat.
utf-8 swedish ci de mémoire.

et si jamais après tout cela, tu as encore des soucis juste après t'être connecté à la base de données utilise: mysql_query("SET NAMES 'UTF8'");

Si jamais tes champs ne sont pas tous en utf-8 dans la bdd il te faudra faire une procédure pour tout remettre en ordre;

ViPHP
xTG
ViPHP | 7331 Messages

07 déc. 2012, 16:16

Et le contenu du footer.php aussi en UTF-8. ^^

Mammouth du PHP | 702 Messages

07 déc. 2012, 16:38

oui, mais enfin tu es d'accord qu'écrire les codes html &nbsp; &eacute, &agrave; etc c'est pas la solution... même si ca affiche correctement les caractères.

ViPHP
xTG
ViPHP | 7331 Messages

07 déc. 2012, 19:58

Je ne te contredisais pas, je ne faisais que rajouter un oubli. :)
Avec nos deux posts on résume le topic que j'ai posté plus haut du coup.