Ajax/prototype.js, charset et IE

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par Robinson, 9 Juillet 2008.

  1. Robinson
    Robinson WRInaute passionné
    Inscrit:
    26 Octobre 2005
    Messages:
    1 636
    J'aime reçus:
    0
    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:
    <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:
    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.
     
  2. Bacteries
    Bacteries WRInaute passionné
    Inscrit:
    27 Mai 2004
    Messages:
    1 253
    J'aime reçus:
    0
    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!)
     
  3. Robinson
    Robinson WRInaute passionné
    Inscrit:
    26 Octobre 2005
    Messages:
    1 636
    J'aime reçus:
    0
    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.
     
  4. julienr
    julienr WRInaute impliqué
    Inscrit:
    5 Août 2003
    Messages:
    939
    J'aime reçus:
    2
    slt,
    Tente de spécifier ceci plutôt :
    Code:
    header( 'Content-Type: text/xml; charset=ISO-8859-1' );
    
    a+
     
  5. Robinson
    Robinson WRInaute passionné
    Inscrit:
    26 Octobre 2005
    Messages:
    1 636
    J'aime reçus:
    0
    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
     
  6. julienr
    julienr WRInaute impliqué
    Inscrit:
    5 Août 2003
    Messages:
    939
    J'aime reçus:
    2
    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?
     
  7. Robinson
    Robinson WRInaute passionné
    Inscrit:
    26 Octobre 2005
    Messages:
    1 636
    J'aime reçus:
    0
    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...)
     
  8. Bacteries
    Bacteries WRInaute passionné
    Inscrit:
    27 Mai 2004
    Messages:
    1 253
    J'aime reçus:
    0
    Bah pour une fois qu'il respecte une règle qui a du sens c'est plutôt bien.
     
  9. Robinson
    Robinson WRInaute passionné
    Inscrit:
    26 Octobre 2005
    Messages:
    1 636
    J'aime reçus:
    0
    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 ^^
     
  10. Bacteries
    Bacteries WRInaute passionné
    Inscrit:
    27 Mai 2004
    Messages:
    1 253
    J'aime reçus:
    0
    Y'a possibilité de débugger du js sous IE, via Microsoft Visual Web Developer 2008 Express Edition par exemple.
     
Chargement...
Similar Threads - Ajax prototype charset Forum Date
Sites de scripts PHP, jQuery, Ajax, etc. Le café de WebRankInfo 20 Mars 2022
Conflit jquery ajax Développement d'un site Web ou d'une appli mobile 10 Février 2022
Problème avec un menu en ajax via jquery Problèmes de référencement spécifiques à vos sites 6 Février 2022
Afficher les produits suivants en ajax Développement d'un site Web ou d'une appli mobile 12 Mai 2020
Requête Ajax avec code source visible Développement d'un site Web ou d'une appli mobile 14 Mars 2020
JS Ajax PHP e-MAIL Développement d'un site Web ou d'une appli mobile 17 Juin 2019
Comment stopper l'exécution de script ajax Développement d'un site Web ou d'une appli mobile 21 Avril 2019
Ajax et duplicate content (Single Page Application) Crawl et indexation Google, sitemaps 1 Mars 2019
Supprimer ajax d'une petite fonction JS Développement d'un site Web ou d'une appli mobile 29 Novembre 2018
Google ne reconnaît pas Ajax !? Référencement Google 30 Août 2018
AJAX BESOIN D'AIDE Développement d'un site Web ou d'une appli mobile 2 Juin 2018
Indexation et ranking de sites en AJAX Référencement Google 28 Mars 2018
Fonction Ajax qui bug parfois Développement d'un site Web ou d'une appli mobile 11 Mars 2018
Stopper execution $.ajax() après un clic Développement d'un site Web ou d'une appli mobile 5 Mars 2017
Une question à propos d'Ajax Développement d'un site Web ou d'une appli mobile 27 Octobre 2016
Impossible de supprimer anciennes pages en ajax + duplicate content Crawl et indexation Google, sitemaps 7 Juin 2016
Upload via Ajax et limitation post_max_size (php.ini) Développement d'un site Web ou d'une appli mobile 11 Février 2016
Crawl AJAX - galère, galère Crawl et indexation Google, sitemaps 21 Décembre 2015
Référencement Google AJAX, AngularJS, PhantomJS Crawl et indexation Google, sitemaps 30 Mars 2015
Référencement AJAX / Duplicate content à cause des paramètres "GET" de l'URL ? Débuter en référencement 13 Mars 2015