Hi, the attached patch changes org-open-at-point in org.el: Currently, when opening an url the function org-open-at-point uses the variable path, which is the result of applying org-link-unescape on the original url. Thus, all special chars like '() "' etc. which were originally encoded like %20%28 etc. are reverted to their clear text form. This worked for me in most cases, but gives me errors when my url contains encoded chars like '()', i.e. %28%29. The submitted patch fixes this by simply using the original url with all special chars still encoded. Please consider applying it, if fit. Thanks, Marc --- a/lisp/org.el +++ b/lisp/org.el @@ -10707,7 +10707,7 @@ a timestamp or a link." (t (list nil (org-link-unescape option))))))))) ((functionp (org-link-get-parameter type :follow)) - (funcall (org-link-get-parameter type :follow) path)) + (funcall (org-link-get-parameter type :follow) (org-element-property :path link))) ((member type '("coderef" "custom-id" "fuzzy" "radio")) (unless (run-hook-with-args-until-success 'org-open-link-functions path) --