non,
ça c'est autre chose.
Si tu envoies des variables qui peuvent contenir autre chose que des 012...9A..Za..z tu dois faire une fonction code_champ en faisant une boucle de lecture des char et en transformat les char indésirables par j += sprintf((dest+j),"%%x",(scr+i));
%x signifie que tu tranformes en hexa la valeur du caractère
En fait l'espace va être transformé en %20 (en hexa) le fait de mettre un % de la valeur hexa du char est une convention mais tu peux la changer. Moi j'utilse $ a cause d'un bogue de IE dans un cas très rare.
Pour le décodage tu refais la même boucle mais en utilisant
sscanf((src+i+1), "%2x", &y)
ou 'y' est un : unsigned int
soit :
if(*(src+i) == '%'
{
sscanf((src+i+1), "%2x", &y)
*(dest+j) = (char)y;
}
enfin un truc du genre
[edtdd]--Message édité par barbarella--[/edtdd]