You might try base64encoding the serialized array when you are passing it in the form.
base64 uses + and = as data, those are obviously not url safe, so you might have to run the string through rawurlencode if you want to pass it over the url, you shouldn't need to do this if you just want to do POST only though.
$string = base64_encode(serialize($array));
pass the string
$array = unserialize(base64_decode($string));