Ajax/prototype.js, charset et IE

Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics

Robinson
WRInaute accro
WRInaute accro
 
Messages: 1855
Inscription: Mar Oct 25, 2005 23:10

Ajax/prototype.js, charset et IE

Message le Mer Juil 09, 2008 15:59

Bonjour,

Je vous expose mon problème en simplifié.
Deux pages php enregistrées en Occidental (ISO Latin 1).

La première est composée des éléments suivants

Code: Tout sélectionner
<div id="page2"><? include("page2.php");</div>
<script type="text/javascript">rafraichirpage2()</script>


Avec évidement inclusion du fichier prototype.js et du javascript de la fonction rafraichirpage2().

Lors du chargement de la page, aucun problème de caractères. Mais lorsque la page2 est rafraîchie, les caractères apparaissent différemment selon les navigateurs (?, carré...)

J'ai trouvé une solution à ce problème !
Ajouter en haut de la page2 :
Code: Tout sélectionner
header('Content-Type: text/html; charset=iso-8859-1');


Cela fonctionne parfaitement sous Firefox, Safari..etc mais évidement cela ne fonctionne pas du tout sur IE !
Cela n'affiche même pas les mauvais caractères car la page2 ne se charge pas du tout.
IE indique des erreurs sur la page...

Après quelques tests, j'ai remarqué que si la page2 n'affichait aucun texte, il n'y avait aucune erreur. Un simple "Bonjour" après le header('...') de la page2 et hop erreur.

Avez-vous une idée du problème et une solution ? Merci.


Bacteries
WRInaute accro
WRInaute accro
 
Messages: 1330
Inscription: Jeu Mai 27, 2004 13:04

Message le Mer Juil 09, 2008 17:04

Humm pas bien compris ton histoire.

Tu as deux pages différentes? Ou tu charges un fichier php dans une div?

Quel est l'encodage de ton HTML (la balise <meta>) généré?

(et l'encodage faudrait un forum rien que pour ça!)

Robinson
WRInaute accro
WRInaute accro
 
Messages: 1855
Inscription: Mar Oct 25, 2005 23:10

Message le Mer Juil 09, 2008 17:18

Une page principale (avec balise meta iso-8859-1) composée de plusieurs "cadres" <div>.
Dans l'un d'eux, j'affiche/réactualise via Ajax un autre fichier php.

L'affichage par inclusion (include) ne pose aucun problème, quand c'est demandé via Ajax (soit par un événement ou périodiquement), le problème des caractères se pose.


julienr
WRInaute passionné
WRInaute passionné
 
Messages: 865
Inscription: Mar Aoû 05, 2003 14:49

Re: Ajax/prototype.js, charset et IE

Message le Mer Juil 09, 2008 17:46

Robinson a écrit:Bonjour,
Code: Tout sélectionner
header('Content-Type: text/html; charset=iso-8859-1');



slt,
Tente de spécifier ceci plutôt :
Code: Tout sélectionner
header( 'Content-Type: text/xml; charset=ISO-8859-1' );

a+

Robinson
WRInaute accro
WRInaute accro
 
Messages: 1855
Inscription: Mar Oct 25, 2005 23:10

Message le Mer Juil 09, 2008 22:31

humm cela n'y changera rien, du moins c'était bien celui-ci qui était en place ^^
Là c'était juste de mémoire et non un copier-coller :P


julienr
WRInaute passionné
WRInaute passionné
 
Messages: 865
Inscription: Mar Aoû 05, 2003 14:49

Message le Mer Juil 09, 2008 22:55

nan ok c juste qu'un jour je comprenais pourquoi sous ie uniquement le retour de responseXML.documentElement plantait à cause de l'absence du content type text/xml dans la page
nan là toi vu que tu utilises prototype, va débuggé la réponse...
j'imagine que les msg d'erreur d'ie sont incompréhensible comme d'hab?

Robinson
WRInaute accro
WRInaute accro
 
Messages: 1855
Inscription: Mar Oct 25, 2005 23:10

Message le Mer Juil 09, 2008 23:33

Bon en fait non tu avais raison ^^
Il fallait bel et bien remplacer html par xml.

Merci beaucoup.


pfiouuuu comment IE peut-il sortir une erreur aussi importante là-dessus, ça me trou le luc ^^
Et oui, les messages d'erreurs d'IE sont toujours aussi incompréhensibles... (ligne 1365, caractère 6...)


Bacteries
WRInaute accro
WRInaute accro
 
Messages: 1330
Inscription: Jeu Mai 27, 2004 13:04

Message le Jeu Juil 10, 2008 8:15

Bah pour une fois qu'il respecte une règle qui a du sens c'est plutôt bien.

Robinson
WRInaute accro
WRInaute accro
 
Messages: 1855
Inscription: Mar Oct 25, 2005 23:10

Message le Jeu Juil 10, 2008 10:44

Mouais mais il pourrait éviter de tout casser et de stopper le reste de la page.
Car le moindre petit javascript sur la page 1 ne marchait plus, même situé avant l'erreur.
Super pratique pour trouver d'où vient le problème qui n'était détecté par aucun outil et par aucun autre navigateur plus respectueux des normes...

Enfin bref, IE est toujours là pour faire chier les développeurs ^^


Bacteries
WRInaute accro
WRInaute accro
 
Messages: 1330
Inscription: Jeu Mai 27, 2004 13:04

Message le Jeu Juil 10, 2008 10:58

Y'a possibilité de débugger du js sous IE, via Microsoft Visual Web Developer 2008 Express Edition par exemple.


Formation recommandée sur ce thème :

Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités