Apache mod_rewrite double encodes query string on redirect
Solution 1:
This seems to be a bug in Apache. This bug report is a bit messy, but describes your problem exactly:
https://issues.apache.org/bugzilla/show_bug.cgi?id=34602
It looks like they are aware of the issue. Though the bug claims they have fixed, I have tested this with Apache 2.3.15, and the problem still seems to be there. Also note that Apache 2.3 is a beta version, so it's no use to you even if it did fix it, until Apache 2.4 is out.