I have some trouble doing some "custom parameter extension" in a filter. The filter is executed before the sling servlet. It wraps the current request and copies the original request parameters to a new map where additional/computed parameters are added as well. The modified request (+ parameters) is then passed down to the filter chain->sling.
That seemed to work fine until I started to care about the encoding. It turns out, that the original request parameters are returned as UTF-8 strings to my code when I copy them. So in my wrapped request I have a request parameter map that contains UTF-8 strings. But Sling expects ISO-8859-1 strings. That means I only see garbage on my result page. I can circumvent this by converting every parameter from the original request to ISO-8859-1 before putting it into my wrapper request parameter map. However given all the code in sling to properly encode request parameters I wonder if that is not a bit naive? Any thoughts? Thanks, Markus
