IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AJAX Discussion :

[AJAX] Accents avec Guestbook AJAX et XML


Sujet :

AJAX

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 16
    Points : 7
    Points
    7
    Par défaut [AJAX] Accents avec Guestbook AJAX et XML
    Bonjour à tous,

    Tout d'abord, je suis graphiste donc j'ai juste quelques bases de programmation, sans plus.

    J'ai un souci concernant un guestbook que je veux installer sur mon site. Vous pouvez trouver les fichiers sources ici : http://dev.wemakesites.net/Guestbook_XML/ C'est un guestbook en AJAX. Les message envoyés arrivent sur un fichier XML.

    Le guestbook une fois installé sur mon site fonctionne, les messages sont envoyés mais le développeur de ce guestbook n'étant pas français, il n'a apparement pas pensé aux accents. De ce fait, aucun accent ne passe, ils sont tous remplacés par un losange avec un point d'interrogation.

    L'entète de la page sur laquelle se trouve le guestbook est : <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

    L'entète du fichier XML est : <?xml version="1.0" encoding="UTF-8"?>

    J'ai essayé de changer <?xml version="1.0" encoding="UTF-8"?> du XML en <?xml version="1.0" encoding="iso-8859-1"?> mais ça ne résout pas mon problème.

    Quelle est la solution (simple si possible vu que je ne suis pas développeur) pour faire afficher les accents ?

    Merci d'avance à ceux qui prendront le temps de me répondre.

  2. #2
    Expert confirmé
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Points : 4 045
    Points
    4 045
    Par défaut
    J'ai essayé de changer <?xml version="1.0" encoding="UTF-8"?> du XML en <?xml version="1.0" encoding="iso-8859-1"?> mais ça ne résout pas mon problème.
    Si tu fais cela, il faut aussi enregistrer ton fichier XML en iso-8859-1 car actuellement il est enregistré en UTF-8.
    Pspad ou Notepad++ font cela très bien.

    ERE

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 16
    Points : 7
    Points
    7
    Par défaut
    J'ai essayé de suivre ton conseil.

    J'ai donc essayé de l'enregistrer avec Pspad et Notepad++.

    Cependant, dans la fenètre enregistrer sous il n'y a que nom du fichier et type.

    J'ai donc pensé que je devais modifier ça dans le menu format mais :
    Dans Pspad, il y a : ANSI, Kamenickych (CP895), OEM, ISO 8859-2 ???? pas ISO 8859-1, je trouve ça bizzard d'ailleurs, jamais entendu parlé de ISO 8859-2, UTF-8, UTF 16 LE, UTF 16 BE. Donc pas de format ISO 8859-1 dans Pspad.

    Dans Notepad++, les formats disponible sont : encoder en ANSI, encoder en UTF-8(sans BOM), encoder en UTF-8, encoder en UCS-2 Big Endian, encoder en UCS-2 Little Endian. Il y a aussi convertir en ANSI, convertir en UTF-8(sans BOM), convertir en UTF-8, convertir en UCS-2 Big Endian, convertir en UCS-2 Little Endian. Donc pas de format ISO-8859-1 dans Notepad++ non plus.

    J'ai donc testé tous les formats disponible avec PSpad en réenregistrant le fichier par la suite mais toujours le même problème. Pareil avec Notepad++.

    ISO-8859-1 est il dans un autre menu ? Si oui merci de m'indiquer la procédure pour enregistrer mon fichier XML en ISO-8859-1 ou tout autre manière pour faire afficher les accents.

  4. #4
    Expert confirmé
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Points : 4 045
    Points
    4 045
    Par défaut
    Salut,

    Prends l'ISO-8859-2 dans PSPAD

    ERE

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 16
    Points : 7
    Points
    7
    Par défaut
    Merci de ta réponse, mais comme je l'ai dit plus haut, j'avais essayé tous les formats possibles de Pspad pour voir. Donc même en enregistrant en ISO-8859-2, cela ne fonctionne pas.

    Je viens de remarquer quelque chose que je n'avais pas précisé précédement Je vais essayer de résumer de façon claire :
    Je commençais de tester avec IE7 vu que c'est avec lui qu'on a le plus de soucis en général.

    Donc avec IE :
    - si je poste un message dans le guestbook sans accent, il s'affiche.
    - si je poste un message avec accent, il fait bugguer IE, du coup le guestbook ne s'affiche plus et ça me dit en bas à gauche erreur dans la page...grrr satané IE

    Avec Firefox :
    - si je poste un message sans accent, il s'affiche.
    - si je poste un message avec accent, il s'affiche.

    J'ai aussi remarqué que si je poste un message avec accent dans Firefox, il s'affiche. Je rafraichit alors la page de IE, le guestbook réapparait comme par magie avec les messages avec accents. Par contre, si je reposte un message avec accent à la suite dans IE, cela rebuggue et le guestbook ne s'affiche de nouveau plus dans IE et je me retrouve avec des points d'interrogation à la place d'accents dans Firefox alors qu'avant ça marchait.

    J'ai donc l'impression que c'est les messages envoyés en utilisant IE qui foutent le binz.

    Quelqu'un a-t-il déjà rencontré ce problème ? Comment le contourner ?

    Je ne sais pas si vous me comprennez mais le plus simple serait, si une âme charitable veux m'aider, de tester avec les fichiers source du lien que j'ai mis dans le premier post.

    Merci encore

  6. #6
    Expert confirmé
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Points : 4 045
    Points
    4 045
    Par défaut
    Re,

    je viens de regarder le code du guestbook, et il s'avère que les fichiers php qui génèrent le code html sont encodés en iso-8859-1 et affiche un charset utf-8.

    A ta place, et si ton site est en iso-8859-1, je changerais le charset de tous les fichiers PHP et html du Guestbook pour y inscrire de l'iso-8859-1, comme ça ce serait déjà cohérent de bout en bout.
    Ensuite réessaie car il y aura peut-être une modification à faire sur le fichir php de sauvegarde des entrées.

    Et peux tu faire un zip du ficheir Entries.xml et l'envoyer. Juste pour voir comment il est , son encodage...

    ERE

  7. #7
    Expert confirmé
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Points : 4 045
    Points
    4 045
    Par défaut
    Salut,

    Poste ici c'est bien mieux et je ne réponds pas aux messages privés...

    Citation Envoyé par torgull
    Tout d'abord, merci beaucoup pour ton aide, j'ai suivit tes conseils et j'ai donc passé tous les fichiers php en iso-8859-15 mais cela ne fonctionne toujours pas sur ie.

    J'ai trouvé sur des forums des personnes qui ont eu apparement le même genre de soucis, il parlent de la fonction utf8_decode pour certains ou de mettre : header('Content-Type: text/html; charset=ISO-8859-1'); dans la page php mais je ne sais pas ou mettre ces codes.

    Je t'ai fait un zip des fichiers comme tu me l'a demandé. Tu peux le télécharger ici : http://www.lunarmouth.com/xxxxx.rar
    C'est difficile de porter un jugement car le code est complètement obfusqué... Change ainsi le fichier scripts/saveEntries.php:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(fwrite($handle, stripslashes(uft8_decode($_GET['msg']))) === TRUE)
    Comme tout semble envoyé via AJAX et que c'est de l'UTF8 par défaut , il faut sans doute décodé avant d'insérer en iso.

    ERE

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 16
    Points : 7
    Points
    7
    Par défaut
    Re,

    Cette ligne : if(fwrite($handle, stripslashes(uft8_decode($_GET['msg']))) === TRUE) ne résout pas le problème. D'ailleurs quand je met ce code, le guestbook ne s'affiche plus.

    Aurais tu une autre idée ?

  9. #9
    Expert confirmé
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Points : 4 045
    Points
    4 045
    Par défaut
    Citation Envoyé par torgull Voir le message
    Re,

    Cette ligne : if(fwrite($handle, stripslashes(uft8_decode($_GET['msg']))) === TRUE) ne résout pas le problème. D'ailleurs quand je met ce code, le guestbook ne s'affiche plus.

    Aurais tu une autre idée ?
    utf8_decode et pas uft8_decode


    ERR

  10. #10
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 16
    Points : 7
    Points
    7
    Par défaut
    Non ça ne fonctionne toujours pas. Avant les accents étaient remplacé par des losange avec un point d'interrogation.

    Avec la ligne utf8_decode, j'ai testé avec cyril test, sans accent donc, ça passe.
    Avec Gérard éssè, ça affiche : g?rd ??> et le message d'avant donc cyril test ne s'affiche plus et il est impossible d'ajouter d'autres messages par la suite...

    Par rapport à utf8_decode, sur le forum ou je l'ai vu, les personnes disent aussi qu'il faut peut etre ajouter avant utf8_encode...mais toujours pareil,ou le mettre ?

    J'ai un doute ? Pour utiliser utf8_decode, il faut bien que la page php et le fichier xml soient enregistré en iso-8859-15 ou je me trompe ? En tout cas pour mes derniers tests, c'était le cas, les fichiers sont en iso.

    Merci encore pour ton aide.

  11. #11
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 16
    Points : 7
    Points
    7
    Par défaut
    Citation Envoyé par emmanuel.remy Voir le message
    C'est difficile de porter un jugement car le code est complètement obfusqué...
    Que voulais tu dire par obfusqué ?

  12. #12
    Expert confirmé
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Points : 4 045
    Points
    4 045
    Par défaut
    Citation Envoyé par torgull Voir le message
    Que voulais tu dire par obfusqué ?
    Le javascript qui gère le guestbook est "crypté" (en fait le source réel a été torturé, à en devenir illisible, ce qui le protège un peu plus d'une réutilisation brute).

    Désolé, mais là il y a trop de possibilités et je ne peux pas me pencher des heures sur ce problème, j'ai un boulot !

    ERE

  13. #13
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 16
    Points : 7
    Points
    7
    Par défaut
    Ok, désolé de t'embeter mais tu es le seul qui ai pris le temps de me répondre... Et je comprends que tu ai un boulot. Moi aussi, c'est pour ça que j'aurais aimé boucler ça avant ce soir car je suis en vacances en fin de journée...

    Merci encore pour le temps que tu as consacré à mon problème.

  14. #14
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 16
    Points : 7
    Points
    7
    Par défaut
    Je relance la discution car mon problème n'est toujours pas résolu. Tout est expliqué en détail dans mes précédents messages.

    Merci d'avance à ceux qui me répondront.

Discussions similaires

  1. [Liferay] [Struts 2 / Ajax] Problème avec portlet Ajax dans Liferay
    Par franco9 dans le forum Portails
    Réponses: 1
    Dernier message: 12/07/2012, 18h38
  2. Problème d'accents avec Guestbook AJAX et XML
    Par torgull dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 06/08/2009, 10h04
  3. [AJAX] Accents avec ajax
    Par carnifex dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 02/07/2008, 11h56
  4. [AJAX] Accents avec AJAX sous IE !
    Par wormseric dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 23/01/2008, 15h48
  5. [AJAX] Accents avec IE
    Par Darkenshin dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 18/01/2007, 17h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo