Tu peux utiliser cette fonction (faite par yom pour son FS "google translate") :
#if !defined MAX_URL_SIZE
#define MAX_URL_SIZE 0x400
#endif
stock EncodeAsURL(str[], dest[], size = sizeof dest)
{
new
len = strlen(str),
pos = -1,
tmppos = 1,
chr
;
if (len > size)
return str;
while (++pos < len)
{
chr = str[pos];
if (chr == ' ')
{
strcat(dest, "+", size);
//dest[tmppos] = '+';
tmppos ++;
}
else if ( 'A' <= chr <= 'Z' || 'a' <= chr <= 'z' || '0' <= chr <= '9'
|| chr == ''' || chr == '-' || chr == '_' || chr == '.' || chr == '!'
|| chr == '~' || chr == '*' || chr == '(' || chr == ')' )
format(dest, tmppos ++, "%s%c", dest, chr);
//dest[tmppos++] = chr;
else if (chr < 0x0080)
format(dest, tmppos += 3, "%s%%%x", dest, chr);
else if (chr < 0x0800)
format(dest, tmppos += 6, "%s%%%x%%%x", dest, 0xC0 | chr >> 6, 0x80 | chr & 0x3F);
else
format(dest, tmppos += 9, "%s%%%x%%%x%%%x", dest, 0xE0 | chr >> 12, 0x80 | chr >> 6 & 0x3F , 0x80 | chr & 0x3F);
}
//dest[tmppos] = '\0';
return dest;
}