I dont know much about this but...
In jQuery we are using: encodeURIComponent().
It says this:
The escape() method does not encode the + character which is interpreted as a space on the server side as well as generated by forms with spaces in their fields. Due to this shortcoming, you should avoid use of escape() whenever possible. The best alternative is usually encodeURIComponent().
Now this limitation can be bad in many cases. If the problem is being created by encoding... can't it just be removed so that users can use appropriate coding depending on thr need?