Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour,
J'ai un drôle de problème. Je ne peux pas afficher un site correctement (la mise en page foire) à cause d'un bug dont je ne connais pas la source. Si je reprends le site sans utiliser Zend aucun soucis mais lorsque je passe par Zend aïe.
J'ai remarqué en comparant les 2 codes sources sous WinMerge (le code source du site Zend et du site clone sans Zend) que Zend ajouter devant l'entête DOCTYPE:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2 caractères spéciaux (que je n'arrive pas à coller dans se message). Ce sont des points situés sur l'axe haut de la ligne.
D'où proviennent ces 2 caractères qui me gênent beaucoup?
Structure de mon site:
index.php:
...Zend_Layout::startMvc(array('layoutPath'=>'./application/layouts'));
Mon layout.phtml:
<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> ...
Merci d'avance.
Dernière modification par Gg (13-12-2009 15:41:03)
Hors ligne
Le ZF commence par construire tout l'html et le balance d'un coup au navigateur. Donc si tu as un caractère foireux affiché par un seul de tes fichiers php (genre un ¨ après le ?> d'un de tes fichiers), il sera affiché avant le rendu normal de ta page.
A mon avis, regarde à la fin de tes fichiers PHP si tu n'as pas un caractère bizarre (c'est pas un ¨ de ï ton caractère bizarre ?)
Pour le retrouver, essaye de modifier la session dans le postDispatch() d'un de tes controlleurs. Si un caractère a déjà été envoyé au navigateur, PHP t'affichera une erreur disant que tu n'as plus le droit de modifier ta session et il t'indiquera quel fichier a déjà renvoyé du contenu au navigateur.
A+, Philippe
Hors ligne
Un caractère rebelle avant un <? dans un de tes fichiers ?
Hors ligne
Encodage UTF-8 avec BOM ?
Hors ligne
je pense également à un problème d'encodage
Hors ligne
Hi
oui moi aussi je vote pour un pb d'encodage il s'agit sûrement des magicBlocks en début de fichier texte de certains encodage
A+JYT
Hors ligne
l'encodage est UTF-8.
J'ai changé la balise meta:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
par:
<meta http-equiv="Content-type" content="text/html; charset=iso-8859-1" />
Et maintenant à la place des 2 caractères spéciaux j'obtiens la chaîne: "". Lorsque j'affiche le code source de ma page j'ai:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr"> <head> <meta http-equiv="Content-type" content="text/html; charset=iso-8859-1" />
Hors ligne
Comment en enregistrer le fichier?
Si t'utilise Eclispe (Zend Studio) ou Notepad++ t'as une option pour définir encodage de tes fichiers...
bonne chance
Hors ligne
Bonjour le problème est résolu. J'ai convertit tous mes fichiers en format UTF-8 sans DOM. Et j'ai placé le format: <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />.
J'ai aussi configuré N++ pour qu'il reste en UTF-8 sans DOM. Merci pour votre aide.
Hors ligne