ブラウザのアドレスバーに日本語のURLが表示されるようにしたいです。
たとえば下記のような感じです。
http://hoge.ne.jp/はてな.php
「はてな.php」というファイルを作ったり、
「はてな」の部分をurlencodeして
「%E3%81%AF%E3%81%A6%E3%81%AA.php」というファイルを作って、
転送してみたのですが、うまくいきませんでした。
ファイル名を日本語にするという発想が違うのでしょうか?
URLで日本語をうまく表示できる方法ならなんでもかまいません。
良いお知恵があれば教えてください。
ブラウザによって対応が異なるかもしれませんが、
とりあえずIEとFirefoxの両方に対応させたいです。
XP、PHP5という環境でやってます。
以上、よろしくお願いします。
PHPというより、URL標準化の問題ですね。
問題は、ドメインとパス名/ファイル名の2つに分かれます。
たとえば "はてな.jp" のような日本語ドメインであれば、Punycodeに変換することで、少なくともIEでは日本語ドメインとして表示することができます。もちろん、日本語ドメインとしてレジストラに登録されている必要があります。
下記のツールをご利用ください。
これについては、RFC3987でUTF-8を使うことが定められています。
ところが、UTF-8をファイル名として利用できるWebサーバ環境は限られています。手元にあるもので確認できたのは、MacOS X 10.5 + Apache + Safari の組み合わせのみ、日本語ファイル名で表示することができました。
下記サイトを参考にしてください。
PHPというより、URL標準化の問題ですね。
問題は、ドメインとパス名/ファイル名の2つに分かれます。
たとえば "はてな.jp" のような日本語ドメインであれば、Punycodeに変換することで、少なくともIEでは日本語ドメインとして表示することができます。もちろん、日本語ドメインとしてレジストラに登録されている必要があります。
下記のツールをご利用ください。
これについては、RFC3987でUTF-8を使うことが定められています。
ところが、UTF-8をファイル名として利用できるWebサーバ環境は限られています。手元にあるもので確認できたのは、MacOS X 10.5 + Apache + Safari の組み合わせのみ、日本語ファイル名で表示することができました。
下記サイトを参考にしてください。
いつもご回答ありがとうございます。
私が行いたかったのは2の「日本語のパス名/ファイル名」の方です。
ご指摘いただいたページを参照します。
phpというよりもWebサーバーの設定による原因だと思います。
Apacheを使用しているのであれば、こちらの設定を参考にされてみてはいかがでしょうか?
http://www.dzeta.jp/tech/index.cgi?Apache%A4%C8%C6%FC%CB%DC%B8%E...
ご回答ありがとうございます。
大変参考になりました。
いつもご回答ありがとうございます。
私が行いたかったのは2の「日本語のパス名/ファイル名」の方です。
ご指摘いただいたページを参照します。