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