Dzięki, nie pomyślałem o innym kodowaniu Przetestuje i dam znać.
//edit Informacja dla potomnych
Aby w pełni poprawnie przekazywać nicki przez URL należy najpierw zakodować go w base64 za pomocą tej funkcji - https://forums.allie...210&postcount=4
Następnie w zakodowanym stringu base64 należy zakodować inne symbole, które są nielegalne w zapytaniach HTTP np. znak równości, który często pojawia się na końcu.
Do tego napisałem taką funkcję:
public url_encode(str[], len)
{
replace_all(str, len, "%", "%25"); // to musi byc na samym poczatku!
replace_all(str, len, " ", "%20"); // lub +
replace_all(str, len, ".", "%2E");
replace_all(str, len, "'", "%27");
replace_all(str, len, "$", "%24");
replace_all(str, len, "&", "%26");
replace_all(str, len, "+", "%2B");
replace_all(str, len, ",", "%2C");
replace_all(str, len, "/", "%2F");
replace_all(str, len, ":", "%3A");
replace_all(str, len, ";", "%3B");
replace_all(str, len, "=", "%3D");
replace_all(str, len, "?", "%3F");
replace_all(str, len, "@", "%40");
replace_all(str, len, "^"", "%22");
replace_all(str, len, "<", "%3C");
replace_all(str, len, ">", "%3E");
replace_all(str, len, "#", "%23");
replace_all(str, len, "{", "%7B");
replace_all(str, len, "}", "%7D");
replace_all(str, len, "|", "%7C");
replace_all(str, len, "~", "%7E");
replace_all(str, len, "[", "%5B");
replace_all(str, len, "]", "%5D");
replace_all(str, len, "`", "%60");
}
Na serwerze należy wykonać operację odwrotną: (przykład w PHP)
urldecode(base64_decode($_GET["nick"]));