Bonjour, je viens de tester la fonction include pour la première fois.

Elle fonctionne correctement, mis à part que tous mes caractères spéciaux (é,à, etc.) ne sont plus reconnus comme ils l'étaient sans l'include.

Ils sont interprétés avec des @ et d'autres caractères spéciaux qui rendent le texte illisible.

- d'où vient ce genre de problème?

- Est-il possible de résoudre ce problème sans devoir remplacer mes caractères spéciaux par leur équivalent html (&eacute,etc.) ?

-Il y a t'il un post ou un tuto qui traiterait de cela?

Merci d'avance.
Modifié par foxprox (22 Apr 2009 - 13:57)
Salut,

j'ai déplacé ton sujet dans le bon salon... il s'agit donc ici d'un problème d'encodage ! Smiley cligne

Je te laisse jeter un oeil aux liens proposés par Florent en annonce.

Si tu ne t'en sors pas tout seul n'hésites pas à nous le dire. Smiley murf


PS : il serait effectivement possible d'utiliser les entités html mais c'est bien plus intéressant de comprendre comment fonctionne l'encodage...
Modifié par Heyoan (21 Apr 2009 - 18:58)
malheureusement je n'ai pas mes fichiers pour tester maintenant, mais si j'ai bien tout compris il serait préférable de modifier charset=iso-8859-1 par charset=utf-8" qui lui gère les caractères spéciaux?

j'effectue mes tests en local avec "wamp" est-ce que je dois aussi modifier un option dans "wamp"?

merci
foxprox a écrit :
si j'ai bien tout compris il serait préférable de modifier charset=iso-8859-1 par charset=utf-8" qui lui gère les caractères spéciaux?
Euh... non : tu n'as pas tout compris ! Smiley langue

L'encodage iso-8859-1 gère très bien les accents français.

Pour reprendre dans l'ordre il faut :
1) vérifier si un encodage est déclaré au niveau du serveur (par exemple à l'aide du site http://web-sniffer.net/ ).

Si c'est le cas, cette déclaration sera prioritaire sur l'encodage déclaré dans la balise <meta http-equiv="Content-Type"

On peut toutefois la modifier.

Soit à l'aide d'un fichier .htaccess à la racine du site :
AddDefaultCharset ISO-8859-1
Soit en utilisant PHP :
<?php header('Content-type: text/html; charset=ISO-8859-1', true); ?>
(à rajouter au début de toutes les pages)

2) renseigner l'encodage au niveau de la balise <meta> :
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
3) pour finir (et ton problème vient sûrement de là) il faut enregistrer tes pages en utilisant le bon encodage. Cela se fait en trouvant dans ton éditeur le paramétrage de l'encodage. Smiley cligne


foxprox a écrit :
j'effectue mes tests en local avec "wamp" est-ce que je dois aussi modifier un option dans "wamp"?
Non.
a écrit :
Euh... non : tu n'as pas tout compris Smiley langue !


En effet ça reste fort obscure, j'ai simplement changer ma déclaration d'encodage dans le header

je suis passé de iso-8859-1 à utf-8 et par miracle tout fonctionne maintenant...
c'est là que j'ai du mal à comprendre (pas de base de données, réseau local)

a écrit :
pour finir (et ton problème vient sûrement de là) il faut enregistrer tes pages en utilisant le bon encodage. Cela se fait en trouvant dans ton éditeur le paramétrage de l'encodage.


je bosse dans ""dream""weaver... je me suis rendu dans éditions-préférences-nouveau doc et là j'ai CODAGE par DEFAUT (unicode utf-8).

Je ne sais pas si tu travailles avec ce logiciel et si tu pourrais m'indiquer si j'ai bien suivi tes recommandations ?

merci
Modifié par chromatik (22 Apr 2009 - 09:02)
chromatik a écrit :
je suis passé de iso-8859-1 à utf-8 et par miracle tout fonctionne maintenant...
c'est là que j'ai du mal à comprendre (pas de base de données, réseau local)
Ben c'est pourtant simple : comme tes pages incluses sont toutes enregistrées en utf-8 (paramètre par défaut dans DW) cela a tout remis d'aplomb ! Smiley smile