I am getting this issue like all the special characters are changing while redirecting to the browser.
Assume I have a link mywww.goo%le.com , when it gets redirected to browser, '%' is converted itself to '%25'.
Please help with some solution.
Note: I am getting that URL Data from SQL server.
This may be because '%' is not a valid URL character.
Valid URL Characters
There are relatively few valid characters in a URL: uppercase and lowercase letters of the alphabet; digits “0” through “9”; special characters: dash, underscore, period, exclamation point, asterisk, apostrophe and opening and closing parentheses; and reserved characters: percent sign, dollar sign, ampersand, plus sign, comma, forward slash, colon, semi-colon, equal sign, question mark and “@” symbol. All other characters must be encoded using a percent sign and their assigned hexadecimal numbers. Reserved characters, such as the percent sign, are only valid to indicate special meaning, and they must be encoded when they are used without their special meaning. For example, to include a percent sign in a URL, you must encode it as “%25.”
If you go to google and search for % you will notice the generated URL has the query parameter listed like so:
(you have to look for it as google will include several other parameters, but you are looking for "q=" )
Thanks For Replying @QlikTom!
Is it Qlik Issue or HTML Encode Issue? . Because I got that URL Column from Html.
So everyone is telling it like qlik Issue, Becoz If I try manually, Copying that URL to a browser then it is working, But error comes, when I directly click on that URL From My Qlik Report.
Is it doable in Qlik Sense?
Thanks In Advance
I am going to assume you are using URLs in a table chart:
In my testing, Qlik Sense will convert special characters to their appropriate HTML entity code if the entity code is not used in the data and pass along the URL as-is if it is used in the data.
That is to say, both the links in the example below, produce the same result when a new tab opens.
This is typically not an issue as doing otherwise would produce an invalid URL.
As far as I know, there is no domain name with a '%' sign it it such as your example, so there may be a specific context I am missing.
result of clicking Key #1 or Key #2
The issue may not be the conversion of the HTML entity.
If I do not include the protocol (http:// or https://)
Qlik will assume http://
This is fine for google, as it automatically redirects http:// to https://
This is not necessarily true of all domains. It has to be configured to do so.
Based on your description, that likely is not your issue, but it may be for some.
Thanks For Replying @QlikTom
I have different URL, which is confidential so I am unable to share with you.
In the middle of the URL, we have NAME like ' Sample%2352'. Here, That name is getting converted to 'Sample%252352'.
So, People think there is issue with Qlik report and asked me to do change that and try to get solution for that.
Please let me know, Is there any other solution for this.
As far as I know, there is no way to override that behaviour.
This is, arguably, for good reason. If you click on one of the links below you will see what happens to your sample value if '%' symbols are not correctly encoded.
%23 happens to be the HTML Entity code for a '#' symbol.
Looking at the results, it may be the issue is that your URL is already HTML encoded in the datasource.
In that case, we are running into a double encoding situation.
There is an easy fix if this is the problem! Just use MapSubString to do a find and replace in the load script to remove HTML Entity Codes.
//HTML Entity mapping table HTML_map: mapping load * inline [ MatchField,ReplacementValue %23,# ]; //use MapSubString Function to replace HTML Entity Codes Load MapSubString('HTML_map',[YourUrlField]) as URL, ....