I know this is a bit late, but the hash is apart of the DOM, its considered a 'DOM identifier' so http://www.example.com/index.php#identifier IS accessible via JavaScript since Javascript itself actually uses the DOM. And yes literally and logically it won't and shouldn't be passed to a server side language that has nothing to do with the DOM or its objects and identifiers.
<script type="text/javascript">
localeHASH=this.location.hash;
locale=this.location.href;
document.write('You are at: <a href="'+locale+'">'+locale+'</a> and the hash is: '+localeHASH);
</script>
What you are looking for is .hash. You can use RegEX in Javascript to strip the hash symbol or you can optionally send it over Ajax in very useful ways to help your application.