title: Which characters should be omitted from a URL so that it doesn't get encoded? (i.e. more human readable)
body: <p>I initially had a function with a regex which removed all non alphanumeric characters and _ and that worked fine, as intended.</p>
  <pre class="lang-golang prettyprint-override"><code>func titleToURL(title string) string {
      threadURL := strings.Replace(title, &quot; &quot;, &quot;_&quot;, -1)
      pattern := regexp.MustCompile(`[^a-zA-Z\d_]`)
      threadURL = pattern.ReplaceAllString(threadURL, &quot;&quot;)
      if len(threadURL) &gt; urlMax {
          threadURL = threadURL[0:urlMax]
      }
      return threadURL
  }
  </code></pre>
  <p>But, I later wanted the URL to have utf-8 characters like 香港, etc. So I removed the regex replace so that such characters would be allowed in. But after that, when a character like [ or ] gets passed, the URL shows all these % symbols and whatnot. I want these URLs to be human readable since they are not for passing data.</p>
  <p>In short, I want URLs to look like <code>text_test_url</code> or <code>chinese_香港</code> and not <code>%3F_%5BM%5D</code></p>
  <p>Which characters should I remove to achieve this? Provide a regex if possible.</p>