diff --git a/php/Exchange.php b/php/Exchange.php
index <HASH>..<HASH> 100644
--- a/php/Exchange.php
+++ b/php/Exchange.php
@@ -531,11 +531,11 @@ class Exchange {
     }
 
     public static function urlencode ($string) {
-        return http_build_query ($string);
+        return http_build_query ($string,"","&");
     }
 
     public static function rawencode ($string) {
-        return urldecode (http_build_query ($string));
+        return urldecode (http_build_query ($string,"","&"));
     }
 
     public static function encode_uri_component ($string) {
http_build_query third parameter is based on a php.ini setting that could be changed by the user

The third parameter of http_build_query, if omitted, defaults to a setting in php.ini which can be changed by user's code.



So it should not be relied upon, but instead it should be explicitly set to "&" as many exchanges DO NOT accept &amp; or other separators.