Charset et Php

Nouveau WRInaute
Bonjour à tous ,

depuis quelques temps, je rencontre un sérieux problème de CHARSET.
Je vous explique en gros :

Je développe en php mes sites de la façon suivante :

1 fichier "header.php" dans lequel je code :
Code:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>blabla</title>
<LINK HREF="tempo.css" TYPE="text/css" REL="stylesheet">
</head>
...

1 fichier "footer.php" dans lequel je code :
Code:
...
</html>


et mes fichiers de pages dans lesquels je code :
Code:
<? include 'header.php'; ?>
.... le contenu de mes pages ...
<? include 'footer.php';?>

C'est juste histoire de pas se taper le header et le footer à chaque page ... Juste parceque je suis fainéant ... un vrai sudiste 8).
Bon jusque là tout se passe bien ...
Là où les problèmes arrivent c'est quand, dans le contenu de mes pages, je fait, par exemples des tests qui entraînent un include d'un autre fichier.

exemple :
Code:
<? 
if ($affiche == ""){include 'pages/fr/assistance-exposants.php';}
elseif ($affiche == assistance){include 'pages/fr/assistance-exposants.php';}
elseif ($affiche == soutien){include 'soutien-logistique.php';}
elseif ($affiche == conciergeprivee){include 'conciergerie-privee.php';}
elseif ($affiche == gestionresidences){include 'gestion-residences.php';}
elseif ($affiche == chef){include 'chef.php';}
elseif ($affiche == traiteur){include 'pages/fr/traiteur.php';}
?>

Et ben là, le contenu des pages "includées" est truffé de caractères qui me font dire que le CHARSET n'est pas pris en compte ...

Exemple de code d'une page "includée" :
Code:
<table width="423" border="0" cellspacing="0" cellpadding="0">
      <tr>
        <td colspan="3"><img src="pictures/kit/pages/fr/titres-423-assits-expo.jpg" width="423" height="28" /></td>
      </tr>
      <tr>
        <td colspan="3" height="10"></td>
      </tr>
      <tr>
        <td colspan="3" valign="top" height="10">
        <!-- TABLE NOS ACTIVTES -->
	
        //... Bon là je vous la fait courte mais c'est du HTML de base ... rien de bien pointu. ...//
        
        <!-- FIN TABLE NOS ACTIVITES -->
</td>
      </tr>
</table>

J'ai même poussé le vice à remettre dans chaque page "includée" le code HTML du header, histoire de forcer la chose ...
Rien, nibe, peau de balle ... Nada.

Quelqu'un aurait-il une idée d'où le bas blesse ?

Gracias d'avance.
 
WRInaute accro
>> remettre dans chaque page "includée" le code HTML

alors ça évite par contre, coller un "header html" en plein milieu d'une page (regarde le code généré) c'est aps bon du tout. un include est juste un "copier coller" de la page là ou tu l'appelles.
ta page incluse ne serait tout simplement pas en utf8 ?
 
WRInaute passionné
Tu mets aucun exemple de caractères spéciaux dans ta page "incluse" (includé!) mais comme le dit le kiwi c'est sûrement une page en UTF-8 (le charset peut être définis pour le document, pas que via balise META).
 
Nouveau WRInaute
e-kiwi a dit:
>> remettre dans chaque page "includée" le code HTML

alors ça évite par contre, coller un "header html" en plein milieu d'une page (regarde le code généré) c'est aps bon du tout. un include est juste un "copier coller" de la page là ou tu l'appelles.
ta page incluse ne serait tout simplement pas en utf8 ?

Attention, le coup de rajouter les balises HTML dans la page incluse (oups) ... c'était juste pour tester ...
J'ai pas dis que c'était la solution, je voulais juste tester voir si ça forcer le CHARSET.

Ma page incluse ne possède rien d'autre que des balises de <table> <img> et du textes ... rien de spécifique au CHARSET

pour répondre à la question de Bacteries :

Voilà le genre de caractères :
Un interlocuteur unique qui vous assistera tout au long de votre séjour.
Participer à un salon ou à un congrès peut se révéler parfois un vrai casse tête surtout lorsqu’on vient de l’étranger.

Par contre vous pouvez m'explique le coup de

c'est sûrement une page en UTF-8 (le charset peut être définis pour le document, pas que via balise META

j'ai pas compris ...
Perso, le CHARSET je l'ai toujours mis dans une balise META ...
M'aurait-on spolier ?

Lol
 
WRInaute accro
Il y a aussi l'encodage du document proprement dit.
Selon l'outil que tu utilises pour enregistrer, cela varie. Par exemple dans Dreamweaver c'est dans les options de la page, dans notepad c'est dans enregistrer sous.

En l'absence de déclaration de charset sur un doc (ce qui est le cas de tes includes) le type de document lui même va jouer.
 
Nouveau WRInaute
Marie-Aude a dit:
Il y a aussi l'encodage du document proprement dit.
Selon l'outil que tu utilises pour enregistrer, cela varie. Par exemple dans Dreamweaver c'est dans les options de la page, dans notepad c'est dans enregistrer sous.

En l'absence de déclaration de charset sur un doc (ce qui est le cas de tes includes) le type de document lui même va jouer.

Voui c'est ce que je viens de voir dans une autre discussion ...
J'utilise Dreamweaver issue du pack CS3 ...
Je suis allé faire un tour dans les options ...

Codage par défaut : UTF-7 unicode 5.0
avec la case : "utliser à l'overture des fichiers ne spécifiant pas le code" cochée

par contre pas de trace dans la liste de UTF-8 ou autre 8859-1 ... ?
 
Nouveau WRInaute
Mais au fait, vous êtes entrain de me dire discretement que quelque soit le codage qu'on choisi.
Si le codage à l'enregistrement de notre logiciel est "foireux", ben tout sera foireux ?

Depuis le temps que j'utilise Dremweaver (j'ai commencé avec la version 4ou5, je crois), je n'ai jamais rencontré ce genre de problème ...
Soit c'est tout nouveau soit j'ai vraiment eu de la chance .... :lol:
 
Nouveau WRInaute
Désolé de vous "traquer" mais j'en ai marre de me retaper tous les textes avec des &agrave; ..... :oops:

J'avoue que si quelqu'un à la potion magique, je suis vraiment preneur.

Pour résumer mon cas, je développe avec Dreamweaver CS3 sur Mac OS Léopard. :wink:

En tout cas merci à tous des vos réponses (Y'en n'a encore pas un qui m'a dit "va faire du tricot", pour le moment ... :p )
 
WRInaute accro
Tu n'as pas eu de chance. Ou alors tu as un problème avec ton Dream, parce qu'il est absolument anormal que l'UTF-8 manque. (Ce qui expliquerait si tu as fait une mise à jour récente, que tes problèmes soient récents).

Cela dit, étant donné que ta page est en iso-8859-1 c'est dans ce charset que tu dois enregistrer les fichiers à inclure, et surtout ne pas oublier de remplacer les caractères accentués par leur version en &eacute; et autres

(C'est pour ça que je suis accro à l'UTF-8)
 
Nouveau WRInaute
Marie-Aude a dit:
Tu n'as pas eu de chance. Ou alors tu as un problème avec ton Dream, parce qu'il est absolument anormal que l'UTF-8 manque. (Ce qui expliquerait si tu as fait une mise à jour récente, que tes problèmes soient récents).

Cela dit, étant donné que ta page est en iso-8859-1 c'est dans ce charset que tu dois enregistrer les fichiers à inclure, et surtout ne pas oublier de remplacer les caractères accentués par leur version en &eacute; et autres

(C'est pour ça que je suis accro à l'UTF-8)

Mmm :(, merci Marie-aude.
C'est plutot une mauvaise nouvelle :cry:
Pour ce qui est de remplacer les caractères accentués ... Ben c'est ce que je fait actuellement mais c'est lourdeau ... lol...
Par contre c'est ce que j'aurais voulu éviter ... :?
Franchement, je me vois pas reprendre toutes le pages ligne par ligne même avec le "chercher/remplacer" ....

Mais bon ...
J'ose pas imaginer les sites monstrueux ayant un soucis de charset comme le mien ...

Est-ce qu'avec UTF-8 je n'ai pas à remplacer les caractères accentués ?
 
Nouveau WRInaute
Ah ... j'ai la réponse à mon soucis.

Je viens de tester et ça marche (Si quelqu'un rencontre la même problèmatique ... ):

Code:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

Dans le fichier header.php où il y a les balises <head></head>

Mais surtout avec les préférences sauvegardes de Dreamweaver à :

Codage par défaut : Occidental (ISO Latin 1)

Les pages qui sont incluses s'affichent correctement sous IE, FF, Opéra et Safari ... et le tout sur Mac & PC (ce qui n'est pas toujours évident Lol)
Que demande le peuple ?
C'est parfait, c'est peut-être du "bricolage" mais ça marche.

Un grand merci à tous pour votre réactivité ...
 
Nouveau WRInaute
amazigh25 a dit:
Oui, il se charge de transformer les caractères accentués automatiquement !

Mmm ... :?
Merci amazigh, je note ça au cas où.

Depuis mon petit message disant que j'avais trouvé (C.F. quelques messages au dessus) ... je suis entrain de remplir mes pages, ça à l'air de bien se passer.
Pourtant, je suis assez "HardCore" niveau tests, je checke avec IE, Firefox, Safari et Opéra (Les principaux en gros) et en plus sur Mac et PC ...
Là si mes clients me disent qu'ils ont un soucis d'affichage, je me tire une balle, ... euh ... dans le slip ... 8)

Encore une fois ce maudit CHARSET aura fait coller beaucoup d'encre, ou plutôt, user beaucoup de doigts et épuiser quelques souris ... :p

Merci pour ta contrib en tout cas.
 
Discussions similaires
Haut