max_num = get_max_placeholder(tmpl);
     /* if there are only $0 placeholders we don't need to split the parameters */
     if (max_num == 0) {
-        quoted_param = soup_uri_encode(query, "&");
+        quoted_param = soup_uri_encode(query, "&+");
         uri          = util_str_replace("$0", quoted_param, tmpl);
         g_free(quoted_param);
 
         if (token->len) {
             char *new;
 
-            quoted_param = soup_uri_encode(token->str, "&");
+            quoted_param = soup_uri_encode(token->str, "&+");
             new = util_str_replace((char[]){'$', current_num + '0', '\0'}, quoted_param, uri);
             g_free(quoted_param);
             g_free(uri);