Что-либо после # в URL указывает местоположение на странице, которую должен отображать браузер; это не часть самого URL. Таким образом, если вам нужен фактический # в вашем URL, его нужно экранировать (если парсер действительно совместим).
Теоретически, вы можете анализировать весь URL-адрес, отправляемый вам вручную, но лучшим решением будет заставить абонента вашей страницы отправлять вам правильный URL-адрес (во-первых, URL, который представляет то, что они хотят , поскольку рассматриваемый вопрос действителен как таковой).