[PHP-users 33481] Re: basename()の日本語対応について

kwa @ kuwata-lab.com kwa @ kuwata-lab.com
2008年 4月 23日 (水) 13:33:32 JST


桑田といいます。
basename()のその後です。

結局、mb_XXXX まわりをいじっても解決しなかったのですが、
Apache 2.2.3 を自分でコンパイルするとあっさりと動きました。
RedHat の rpm で入れている Apache (httpd) だとだめみたいです。
バージョンは揃えてあるので、バージョンの違いが原因ではなさ
そうです。

とりあえず動作することまではできたのでいいのですが、できれば
本当の原因を知りたいと思います。
Apacheの設定やconfigureオプションで、PHPの動作に影響のありそうな
ものがありましたら教えてください。
(もちろん LoadModule や AddHandler などは除いてですが。)

以上です。よろしくお願いします。

--
makoto kuwata


On 4/22/08, kwa @ kuwata-lab.com <kwa @ kuwata-lab.com> wrote:
> 桑田です。
> Setoさん、西村さん、どうもありがとうございます。
> dirname()は正しく動くのにbasename()が動かないので変に思ってました。
> mb_internal_encoding を中心に確かめてみます。
> アドバイスありがとうございました。
>
> --
> makoto kuwata
>
> On 4/22/08, NISHIMURA Yutaka <forml @ aypio.net> wrote:
> > 西村です。
> >
> > Reply to <e530b8350804220302m743c47b3r9d462eb0acf7dc62 @ mail.gmail.com>
> > "Makoto Kuwata" <kwa @ kuwata-lab.com> wrote:
> > > 現状のPHPのbasename()では日本語がうまく扱えないようです。
> > > http://bugs.php.net/bug.php?id=37738
> > > 具体的には、日本語を含むパス名を与えると、空文字が返ってきます。
> >
> > ただ単に、mb_internal_encodingと
> > 利用している文字コードがあっていないだけでは?
> > テストスクリプトtest.phpに
> > <?php mb_internal_encoding("utf-8"); ?>
> > と位置行追加し、スクリプトの文字コードをUTF-8にすると結果は
> > 以下の通りでした。
> >
> >     *  string(22) "日本語/にほんご"
> >     * string(12) "にほんご"
> >     * string(9) "日本語"
> >
> > --
> > NISHIMURA,Yutaka./西村ゆたか <forml @ aypio.net>
> >
> >
> > _______________________________________________
> > PHP-users mailing list  PHP-users @ php.gr.jp
> > http://ml.php.gr.jp/mailman/listinfo/php-users
> > PHP初心者のためのページ - 質問する前にはこちらをお読みください
> > http://oldwww.php.gr.jp/php/novice.php3
> >
> >
>


PHP-users メーリングリストの案内