Lo que pasa es que eñ caracter # es especial para el navegador, ya que indica una ancla interna.
Para evitarlo debes escaparlo por su correspondiente URL-safe, es decir, en PHP tienes urlencode() lo cual basta para dicha tarea, en Javascript debes usar su equivalente.
Si estás usando un formulario no debería existir ningún problema pues debe pasar el valor tal cual, escapado, a menos que hagas algo que modifique el comportamiento natural del formulario.