Does window.location.hash contain the encoded or decoded representation of the url part?
window.location.hash
When I open the same url (http://localhost/something/#%C3
http://localhost/something/#%C3
You can use decodeURIComponent, it will return #ü in all cases:
#ü
decodeURIComponent('#%C3%BC'); // #ü decodeURIComponent('#ü'); // #ü
Try it out here.