(Hope this answer help someone like me.)
The same problem happened to me in Windows using git for windows.
I set proxy setting as usual:
git config --global http.proxy http://username:[email protected]:port
In my situation, the username is email, so it has a @ sign. After encode the @ sign with %40 in username, the problem is resolved.
So, encode the special characters not only in password, but also in username. (Refer to the comments of this answer)