title: How to pass UTF8 string in URL to JSP page
body: <p>I have a simple dashboard with items, and each item can have several tags. Now I'm implementing filtering functionality, when user clicks a tag, all item with that will be shown.</p>
  
  <p>At the server side I'm rendering the webpage using JSTL <code>&lt;c:url /&gt;</code> with <code>&lt;c:param /&gt;</code> so in the source code it looks like this:</p>
  
  <pre><code>&lt;a href="/dashboard?filter=k%c5%af%c5%88"&gt;kůň&lt;/a&gt;
  </code></pre>
  
  <p>The problem is, that when I click the link, my browser actually decodes the string and it sends following to server: <code>/dashboard?filter=kůň</code></p>
  
  <p>The thing it, that this isn't valid URL so on the way over network it gets mangled and the server actually recieves <code>/dashboard?filter=kÅ¯Å</code>.</p>
  
  <p>Everything on my webpage and server is set to use UTF-8. And this problem doesn't happen when using POST and sending UTF-8 data from form.</p>
  
  <p>Is there any way to stop the browser from decoding the string?</p>
  
  <p>I have tried Firefox and Chrome, but I don't think it's of any significance.</p>
  
  <p>UPDATE: To clarify I want to recieve percent encoded string on my server, so I can safely decode it.</p>
  
  <p>UPDATE2: I did some research on the letters, the problem is. That <code>LATIN SMALL LETTER U WITH RING ABOVE</code> (ů) is encoded as two bytes - <code>0xC5 0xAF</code>. And Java treats each byte as single character. So <code>0xC5</code> becomes <code>LATIN CAPITAL LETTER A WITH RING ABOVE</code> - Å. And so on.</p>