\:CheckOption{url-il2-pl} \if:Option
  
 \else \:CheckOption{url-enc} \fi
  
 \if:Option
  
    \Configure{string-encoder}{url-encoder}
  
 %   \:CheckOption{url-il2-pl} \if:Option
  
       <.il2-pl.tcx url encoder.>
  
 %   \else
  
       <.default url encoder WAIT.>
  
 %      \Log:Note{for il2-pl url encoding,
  
 %                        use the command line option ’url-il2-pl’}
  
 %   \fi
  
    \Configure{url}%
  
      {<.:temp = url encoded string.>%
  
       \Link[\noexpand\the\tmp:toks \space
  
                class="url"]{}{}{\let\UrlBigBreaks\empty
  
                          \let\UrlBreaks\empty #1}\EndLink}
  
    <.url encoded string utilities.>
  
 \else
  
    \Log:Note{for URL encoding within href
  
           use the command line option ‘url-enc’}
  
    \Configure{url}%
  
      {\tmp:toks{#1}\Link[\noexpand\the\tmp:toks\space
  
                class="url"]{}{}{\let\UrlBigBreaks\empty
  
                          \let\UrlBreaks\empty #1}\EndLink}
  
 \fi
  
 <.path config.> -_-_-
   
 
    \tmp:toks={}\set:spaces#1<.par del.>%
  
 \edef\:temp{\tmp:toks{\csname url-encoder\expandafter\endcsname
  
                       \the\tmp:toks <.par del.>}}\:temp -_-_-
   
 
    \def\set:spaces{\futurelet\:temp\set:spacesoo}
  
 \def\set:spacesoo{%
  
    \expandafter\ifx \space\:temp
  
       \tmp:toks\expandafter{\the\tmp:toks{ }}%
  
    \fi
  
    \set:spaceso
  
 }
  
 \def\set:spaceso#1#2<.par del.>{%
  
    \tmp:toks\expandafter{\the\tmp:toks #1}%
  
    \if !#2!\else \set:spaces#2<.par del.>\fi
  
 } -_-_-
   
 
    \Configure{url-encoder}
  
      {%}{%25}
  
      {&}{%26}
  
      {’}{%27}
  
      {<}{%3C}
  
      {>}{%3E}
  
      {_}{_}
  
      {^}{^}
  
      {}{}
  
 \Log:Note{current url encoding setting: \string\Configure{url-encoder}%
  
      {\%}{\%25}%
  
      {&}{\%26}%
  
      {’}{\%27}%
  
      {<}{\%3C}%
  
      {>}{\%3E}%
  
      {\string _}{\string _}%
  
      {\string ^}{\string ^}%
  
      {}{}}
-_-_-
   
 
    \Configure{url-encoder}
  
       {%}{%25}
  
       {&}{%26}
  
       {’}{%27}
  
       {<}{%3C}
  
       {>}{%3E}
  
       {_}{_}
  
       {^}{^}
  
       {}{ą}
  
       {}{ć}
  
       {}{ę}
  
       {}{ł}
  
       {}{ó}
  
       {}{ń}
  
       {}{ś}
  
       {}{ź}
  
       {}{ż}
  
       {}{Ą}
  
       {}{Ć}
  
       {}{Ę}
  
       {}{Ł}
  
       {}{Ó}
  
       {}{Ń}
  
       {}{Ś}
  
       {}{Ź}
  
       {}{Ż}
  
       { }{+}
  
       {}{}
-_-_-
   
 
   http://www.faqs.org/rfcs/rfc2396.html
   See issues in:
   
\documentclass{article}
 
  \usepackage{url}
 
\begin{document}
 
 
\url{a%b c&d}
 
 
\url{a%25b+c&d}
 
 
\end{document}