◆ # が URL の # 扱いされてそれより前のところまでの URL になってしまう

html ファイルに限らないと思いますが ファイルやフォルダ名に # を入ったものをブラウザで開こうとしたらちょっと困ったことになりました
名前の順で上に来てほしいとかで # から始めてみたり そんなことをするときもあるかと思います

ですが # を含むファイルをブラウザ開こうとしたとき # はエスケープされずそのまま # として扱われます
ページ内ジャンプのあれです


C:\files\code\tmp\#014\sample.html というファイルをエクスプローラでダブルクリックすると
C:\files\code\tmp のフォルダの中身一覧のページが表示されます
# より前の部分が URL でそれ以降はおまけの文字列扱いです

エクスプローラから以外でもサクラエディタの Ctrl-B での開く機能なども一緒でした

ブラウザで開く という時点でそれは URL であってエスケープをする必要ないと判断されるのでしょう


直接ブラウザへドロップした場合は # が %25 にちゃんとエスケープされました C:\files\code\tmp\#014\sample.html の HTML ファイルが表示されます


それでも 普段ダブルクリックやエディタからのショートカットで開くのでそれで開けないのはつらいところです

自作プログラムで開くようにして file スキームは # をエスケープするとかも考えましたが面倒だし 関連付けを変えるのはちょっと嫌です
結局 特殊な記号使うのが悪いと考えて # を使わないようにしました


# つきファイル名には気をつけてくださいね
他の記号は / や ? は Windows のファイル名に使えないので大丈夫だと思います