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

Bibliothèques & Frameworks Discussion :

L'encodage [Prototype]


Sujet :

Bibliothèques & Frameworks

  1. #1
    Futur Membre du Club
    Inscrit en
    Septembre 2006
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 5
    Points : 6
    Points
    6
    Par défaut L'encodage
    Bonjour,

    J'utilise cakephp et prototype pour développer une application web.

    J'ai une fonction Ajax pour récupérer des informations dans ma base de données, cependant, quand je les reçois, les caractères accentués ne s'affichent pas. J'ai un point d'interroguation à la place (sous Firefox 2.0.0.7). Voici mon appel à prototype :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    onchange="new Ajax.Updater('personne','selectpersonne/' + document.getElementById('PersonneId').value, {asynchronous:true, evalScripts:true});"
    Mon charset est bien mis à iso-8859-1.

    J'utilise Prototype 1.5.0 et Cakephp 1.1.17.5612.

    Note: J'ai même essayé de modifier la ligne suivante dans prototype.js... sans succès.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    Ajax.Base.prototype = {
      setOptions: function(options) {
        this.options = {
          method:       'post',
          asynchronous: true,
          contentType:  'application/x-www-form-urlencoded',
          encoding:     'ISO-8859-1',
          parameters:   ''
        }
        Object.extend(this.options, options || {});
     
        this.options.method = this.options.method.toLowerCase();
        if (typeof this.options.parameters == 'string')
          this.options.parameters = this.options.parameters.toQueryParams();
      }
    }
    Sous firebug, je reçois bel et bien une entête avec un encodage ISo-8859-1

  2. #2
    Membre averti
    Inscrit en
    Novembre 2006
    Messages
    336
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 336
    Points : 374
    Points
    374
    Par défaut
    Salut,

    Check :

    -Encoding de la page hôte
    -Encoding du fichier js
    -Charset du retour des données
    -Charset de la page hôte

    Accesoirement, js c'est de l'utf-16, donc autant tout faire en utf-8; ça évite ce genre de soucis

  3. #3
    Futur Membre du Club
    Inscrit en
    Septembre 2006
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    La solution:

    Cakephp ne retournait pas le bon entête, il fallait donc ajouter:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    header('Content-Type: text/xml; charset=ISO-8859-1');
    Des fois c'est trop simple...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Encodage de caracteres: eviter 81, 8D, 8F, 90, 9D ->
    Par Fladnag dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 27/04/2004, 11h17
  2. Encodage de cd en fichier mp3
    Par clovis dans le forum Applications et environnements graphiques
    Réponses: 4
    Dernier message: 08/04/2004, 01h13
  3. [ENCODAGE][JAVA]Afficher correctement des accents
    Par kornelius dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 17/02/2004, 16h37
  4. Encodages DOS et Windows
    Par Aramis dans le forum Langage
    Réponses: 5
    Dernier message: 09/11/2003, 17h55
  5. [VB6] fonction d' encodage URL en VB
    Par jeanseb dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 14/01/2003, 11h16

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