Hi all. Is there an issue with $_GET not handling a Base64-encoded 
value correctly? (PHP is 5.1.6)
        Am receiving a Base64-encoded value:

theurl.com/index.php?message=xxxxx

 and retrieving it with $_GET:

echo $_GET["message"];

xxxxx is a Japanese phrase, that has been encoded into Base64. So is using the 
+ symbol:

...OODq+OCou...

but my $_GET is replacing the + with a space:

...OODq OCou...

thus the base64_decode() is failing (displays diamonds with questions marks on 
my Mac).

        The Base64-encoded string is 156 characters long, if that has any 
bearing. My test URL is 230 characters in total, less than the "old" 256 limit.
        All I can find online is a reference that PHP will no longer assume 
that a space is a +:

<http://ca3.php.net/manual/en/function.base64-decode.php#69298>

but my problem is the opposite - the + symbols are there, but the GET is 
removing them.
        (And to add a wrinkle, this then goes into a Joomla! page, whose 
getVar() command completely removes the +, so I couldn't even do a string 
replace, as I don't know where the + should have been!)

        Tired of looking at the dark red spot on the wall! Thanks.


George Langley    Multimedia Developer    Audio/Video Editor    Musician, 
Arranger, Composer www.georgelangley.ca


Reply via email to