Wysyłam więc adres URL kodując wartość parametru za pomocą funkcji urlencode:
i rzeczywiście po najechaniu myszką na link na pasku statusu przeglądarki jest:
http://site.com/?name=good+luckczyli + zamiast spacji.
Tyle tylko, że jak to później próbuję odebrać przy pomocji funkcji urldecode:
to nadal otrzymuję tylko pierwszy wyraz przed pierwszą spacją.
Co więc jest źle?
------ EDIT ------W Example #1 na stronie
urldecode widzę,
że tej funkcji urldecode() nie używa się w tak prosty sposób jak myślałem

Z tym, że w Example #1 jest błąd, bo zamiast $QUERY_STRING powinno być $_SERVER['QUERY_STRING']

Mogłem więc już po odświeżeniu strony odbierać już całe wartości (wraz ze spacjami) parametrów z adresu URL.
Miałem natomiast zupełnie inny problem - spacje nie działały w funkcji header(). Ale
tutaj na forum (komentarz z 10 Aug 06 6:26) ktoś poradził, żeby zmienną zawierającą nazwę pliku otoczyć "podwójnym cytatem":
header('Content-Disposition: attachment; filename="'.$name.'"');
i zadziałało