The underscore character "_" is another indexed symbol (1.5 billion results).
But you're right that many typographical glyphs or characters cannot be directly searched. And even when they can be, it's not a sure thing that the results would show you the correct name for the symbol. If you're looking for the correct name, I'd suggest searching for Unicode symbols and examing one of the many charts and tables that are online.
The hash mark "#" (also called a pound sign or number sign, depending on usage) is used in a URL to indicate a fragment identifier [w3.org] and a link to URL#word scrolls the window down to the position on the page that is indicated in the source code by id="word".
If the # symbol is used in any other way, then that URL may well confound Google and other search engines.
I think you meant name="word" for a link (<a name="word> identifies the fragment to display) and typed id="word" thinking about ways JS and AJAX could be used for changing the display. (document.getElementById('word').style.display="block" + <div id="word"> would display the 'hidden' content within <div>)
Just wanted to try to eliminate confusion for those who don't know the difference off the top of their head and might wonder why <a href="#word">word</a> <a id="word">text</a> might not work.