This discussion is archived
3 Replies Latest reply: Sep 19, 2012 3:12 PM by 814094 RSS

Garbled URL parameters?

user10536719 Newbie
Currently Being Moderated
When calling a worklfow with parameters in the URL, the parameters gets garbled if they contain ISO-encoded characters:
/idm/task/taskLauch.jsl?id=myWorkflow&op_param=P%E6dagog results in param=P\ufffddagog in the actual workflow.

I am using Glassfish and have tried changing parameters in domain.xml, web.xml and sun-app.xml but to no avail.

Can anyone point me in the right direction?

Best regards
Stefan
  • 1. Re: Garbled URL parameters?
    handat Expert
    Currently Being Moderated
    I am not sure what you are asking for. This appears to be the correct behaviour. The URL decoded value is Pædagog which is correctly converted to P\ufffddagog using ISO-8859-1. If you want to force it to use UTF-8 instead of the default encoding, you could try adding -Dfile.encoding=UTF-8
  • 2. Re: Garbled URL parameters?
    user10536719 Newbie
    Currently Being Moderated
    The problem is that it is NOT decoded as Pædagog. \ufffd is a replacement character (either shown as a square or a questionmark), i.e. it does not show the 'æ' character.
    The link is generated in another application that then calls the IdM. As I understand it, the URL is ISO-8859-1 encoded and Glassfish and / or IdM uses UTF-8 to decode it which results in the incorrect decoding. I have tried D-file.encoding=ISO-8859-1 as well as requestEncoding in both web.xml and sun-web.xml.

    Strange thing is that if I copy idm.war and deploys it on a Tomcat server (pointing to the same IdM backend database), it shows the characters correctly. But the customer wishes to stay on Glassfish, so I have to find a solution.

    So my basic problem is that the URL parameter gets decoded in the wrong way, but I don't know how to change that.
  • 3. Re: Garbled URL parameters?
    814094 Newbie
    Currently Being Moderated
    I have not done this in a long time since I only use UTF-8 whenever possible. Using UTF-8 for URI encoding is also recommend by some RFC.

    But AFAIK you have to change URI encoding and encoding of the parameters for Glassfish in two different places. I don't remember where but I just googled it and came up with this Wiki page for Glassfish:

    https://wikis.oracle.com/display/GlassFish/FaqHttpRequestParameterEncoding

Legend

  • Correct Answers - 10 points
  • Helpful Answers - 5 points