PHPについて質問です。


ブラウザのアドレスバーに日本語のURLが表示されるようにしたいです。
たとえば下記のような感じです。
http://hoge.ne.jp/はてな.php

「はてな.php」というファイルを作ったり、
「はてな」の部分をurlencodeして
「%E3%81%AF%E3%81%A6%E3%81%AA.php」というファイルを作って、
転送してみたのですが、うまくいきませんでした。
ファイル名を日本語にするという発想が違うのでしょうか?
URLで日本語をうまく表示できる方法ならなんでもかまいません。
良いお知恵があれば教えてください。

ブラウザによって対応が異なるかもしれませんが、
とりあえずIEとFirefoxの両方に対応させたいです。

XP、PHP5という環境でやってます。
以上、よろしくお願いします。

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2008/09/16 23:59:42
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:pahoo No.1

回答回数5960ベストアンサー獲得回数633

ポイント42pt

PHPというより、URL標準化の問題ですね。

問題は、ドメインとパス名/ファイル名の2つに分かれます。


1.日本語ドメイン名

たとえば "はてな.jp" のような日本語ドメインであれば、Punycodeに変換することで、少なくともIEでは日本語ドメインとして表示することができます。もちろん、日本語ドメインとしてレジストラに登録されている必要があります。

下記のツールをご利用ください。


2.日本語のパス名/ファイル名

これについては、RFC3987でUTF-8を使うことが定められています。

ところが、UTF-8をファイル名として利用できるWebサーバ環境は限られています。手元にあるもので確認できたのは、MacOS X 10.5 + Apache + Safari の組み合わせのみ、日本語ファイル名で表示することができました。

下記サイトを参考にしてください。

id:taroemon

いつもご回答ありがとうございます。

私が行いたかったのは2の「日本語のパス名/ファイル名」の方です。

ご指摘いただいたページを参照します。

2008/09/16 14:56:33

その他の回答1件)

id:pahoo No.1

回答回数5960ベストアンサー獲得回数633ここでベストアンサー

ポイント42pt

PHPというより、URL標準化の問題ですね。

問題は、ドメインとパス名/ファイル名の2つに分かれます。


1.日本語ドメイン名

たとえば "はてな.jp" のような日本語ドメインであれば、Punycodeに変換することで、少なくともIEでは日本語ドメインとして表示することができます。もちろん、日本語ドメインとしてレジストラに登録されている必要があります。

下記のツールをご利用ください。


2.日本語のパス名/ファイル名

これについては、RFC3987でUTF-8を使うことが定められています。

ところが、UTF-8をファイル名として利用できるWebサーバ環境は限られています。手元にあるもので確認できたのは、MacOS X 10.5 + Apache + Safari の組み合わせのみ、日本語ファイル名で表示することができました。

下記サイトを参考にしてください。

id:taroemon

いつもご回答ありがとうございます。

私が行いたかったのは2の「日本語のパス名/ファイル名」の方です。

ご指摘いただいたページを参照します。

2008/09/16 14:56:33
id:jaguarsan No.2

回答回数4ベストアンサー獲得回数0

ポイント28pt

phpというよりもWebサーバーの設定による原因だと思います。

Apacheを使用しているのであれば、こちらの設定を参考にされてみてはいかがでしょうか?

http://www.dzeta.jp/tech/index.cgi?Apache%A4%C8%C6%FC%CB%DC%B8%E...

id:taroemon

ご回答ありがとうございます。

大変参考になりました。

2008/09/16 23:59:10

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません