Yok hiç de karışık değil. Get ile gönderdiğin string'i karmaşık kodlamalara çevirmene gerek yok. ? 'den sonra koyduğun her değer için
JavaScript'de escape() ile özel karakterleri çevirebilirsin. Aldığın bu veriyi de
PHP'de
urldecode() ile tersine çevirirsin. İki fonksiyon birbirinin tıpa tıp karşılıklarını yapmasa da, çok nadir karakterlerde problem çıkıyor.
Detaylı çözüm.
JS ::
PHP
escape() ~= urlencode()
unescape() ~= urldecode()