Diferença entre "+" e "% A0" - codificação de URL?

Estou url codificando uma sequência de texto para passar para uma função. No entanto, ele codifica o segundo espaço em um espaço duplo como "% A0". Isso significa que, quando decodifico a string, o "% A0" é exibido como um ponto de interrogação em uma caixa pret

Eu só preciso remover o espaço extra, mas gostaria de entender o que está causando isso e como lidar com isso corretament

Por exemplo

Something  Something else

Codifica para:

Something+%A0Something+else