Http Request - QueryParams - Encoding problem in iOS

I have to send a String with special characters to my backend in a http get call using query params.

What I have to send is something like this connectionString://qr=UVIxAAAAAAEAA+CffABRjDAEPM/ir

So, I need to encode this string to escape the “:”, the “/”, the “=” and the “+”

Currently de App is using CapacitorCommunity HTTP to make the backend calls (GitHub - capacitor-community/http: Community plugin for native HTTP)

If I make the call using my default code, the backend is receving this
connectionString://qr%3DUVIxAAAAAAEAA+CffABRjDAEPM/ir

Looks like if is only escaping the “=”. Not the “:”, the “/” and the “+”

Trying to solve this, I add encodeURIComponent(connectionString) to the string to send on the query param before making the HTTP request.
This method returned me
connectionString%3A%2F%2Fqr%3DUVIxAAAAAAEAA%2BCffABRjDAEPM%2Fir

So the encoding is OK!

But, when I check the backend logs, on backend I’m receiving
connectionString%253A%252F%252Fqr%253DUVIxAAAAAAEAA%252BCffABRjDAEPM%252Fir

It looks like the CapacitorCommunity HTTP is making a second encoding!

I check the documentation and, If I understand in the right way, I can disable the CapacitorCommunity HTTP encoding doing this:

const options: HttpOptions = {
      headers,
      method: apiReq.method,
      url,
      shouldEncodeUrlParams: false  //Disable auto encoding because is failing
    };

I made that change and run again the app and… Is still having a second encoding.

Anyone have an idea of what could happend?.
Why with the first aproach is not encoding?
Why with the second is making two encodings?

I also tried to fix this using CapacitorHttp (Capacitor Http Plugin API | Capacitor Documentation) but it happens the same.

The problem it happens in iOS.
If I run the proyect on a web, it works fine

Thanks