replaceAll not working ( I think so )
with + like a real browser.
Here is a quick overview on UTF-8
You are probably using chrome. You are probably thinking that this:
is correct syntax for UTF-8. But you are 50% wrong.
%20 means space in UTF8 so when your browser reads the GET parameters it will just read exactly what you searched in the input.
It replaces the space with %20