Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript > Bibliothèques & Frameworks > Prototype & Script.aculo.us
Prototype & Script.aculo.us Forum d'entraide sur les frameworks Prototype et Script.aculo.us
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 26/09/2007, 22h33   #1
Invité de passage
 
Inscription : septembre 2006
Messages : 5
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 5
Points : 4
Points : 4
Par défaut [Prototype] encodage avec Prototype

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 :
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 :
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
JamoS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/09/2007, 04h38   #2
Membre éclairé
 
Inscription : novembre 2006
Messages : 336
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 336
Points : 323
Points : 323
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
Shinuza est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/09/2007, 16h36   #3
Invité de passage
 
Inscription : septembre 2006
Messages : 5
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 5
Points : 4
Points : 4
La solution:

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

Code :
header('Content-Type: text/xml; charset=ISO-8859-1');
Des fois c'est trop simple...
JamoS est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h55.


 
 
 
 
Partenaires

Hébergement Web