begin process at 2012 05 29 18:49:35
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

Framework

 > 

Ajax

 > 

Problème de caratère ? et <


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Problème de caratère ? et <

vendredi 4 avril 2008 à 09:04:36 | Problème de caratère ? et <

zemele

Bonjour,

Je souhaite enregistrer le contenu d'une ifame (wysiwyg) via la class ajax de prototype. Seulement les '?' et les '<' et sûrement d'autre caractère ne passent pas.

Y a t il une soluce ?
vendredi 4 avril 2008 à 12:31:50 | Re : Problème de caratère ? et <

maelob

Membre Club

Bonjour,

Que tu veux tu dire par il ne passe pas? Un exemple de ton code peut auusi être utile (bien sur que la partie utile de ton code ;-) )



Maelo ou Elo --> Mon blog
vendredi 4 avril 2008 à 12:50:25 | Re : Problème de caratère ? et <

PetoleTeam

Membre Club
Bonjour,
Voir du coté de encodeURIComponent()
problème traité sur le
CERTAIN-CARACTERE-NON-TRANSMIS-AVEC-POST
peut être le même problème...
;O)
samedi 5 avril 2008 à 00:11:54 | Re : Problème de caratère ? et <

zemele

Bonjour et mercie pour tes préçisions.

Mon problème était en 2 temps. Etait, car depuis j'ai fini par trouvé une solution , sûrement pas la meilleur, mais a le merite de fonctionner.

Donc :

Le pb se situait au niveau des "?", des "&" (évidemment dans l'url tout ce qui est derrière est considéré comme des varaibles) et d'autres caratères un peu plus rares. Du coup j'ai utiliser la solution :

url = escape(contenu);

Seulement cette fois ce sont les accents qui ne passaient plus alors j'ai ajouté avant la fonction suivante :

// Remplace toutes les occurences d'une chaine
function replaceAll(str, search, repl) {
    while (str.indexOf(search) != -1)
    str = str.replace(search, repl);
    return str;
}

// Remplace les caractères accentués (+ espace)
function htmlToAccent(str) {
    var spec = new Array("&eacute;", "&Eacute;", "&egrave;", "&Egrave;", "&ecirc;", "&Ecirc;", "&euml;", "&Euml;", "&agrave;", "&Agrave;", "&ugrave;", "&Ugrave;", "&ccedil;", "&Ccedil;", " &#128;", "&#167;");
    var norm = new Array("é", "É", "è", "È", "ê", "Ê", "ë", "Ë", "à", "À", "ù", "Ù", "ç", "Ç", "€", "§");
    for (var i = 0; i < spec.length; i++)
    str = replaceAll(str, norm[i], spec[i]);
    return str;
}


contenu = htmlToAccent(contenu);
puis j'encode l'url :
url = escapde(url);
Le tout est envoyé à la class ajax (bon je passe).

L'idéal serait de traiter tous les accents, mais pour les principaux et les caratères spéciaux ça passe très bien.

Comme je disais, il y a sûrement meiux à faire, par exemple avec ta solution (
encodeURIComponent()).

Les commentaires sont les bienvenus surtout si je suis dans l'erreur...


lundi 7 avril 2008 à 18:11:56 | Re : Problème de caratère ? et <

PetoleTeam

Membre Club
Bonjour,
essaies simplement de voir le résulat avec encodeURIComponent
alert( encodeURIComponent('àëêéè'))
;O)


Cette discussion est classée dans :


Répondre à ce message



Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,328 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales