[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]

[webdav-jp:1209] Re: path_iconv導入するもWinXPクライアントからEUC-JPが正しく表示されない



佐藤です。

> ENV="$ENV  APACHE_FILE_ENCODING=EUC-JP-MS"
> とでも設定すると良いと思います。
提案の通り追記してみましたが、表示は変わりませんでした。

ここまで来ると、何らかの理由により環境変数が正しく渡せていないか、
取得できていないと思います。
泥臭い方法ではありますが、下記のように変更することで、
ファイルリストが正しく取得できるようになりました。

path_iconv.cの
APACHE_FS_ENCODING環境変数を取得している部分をコメントアウト
/*    if (FS_ENCODING == (char *)-1)
        FS_ENCODING = getenv("APACHE_FS_ENCODING");

    if (FS_ENCODING == NULL) {
        apr_cpystrn(fsname, procname, APR_PATH_MAX);
        return APR_SUCCESS;
    }*/


エンコード形式としてEUC-JP-MSを使うよう決め打ち
cd_proc2fs = iconv_open("EUC-JP-MS", PROC_ENCODING);

cd_fs2proc = iconv_open(PROC_ENCODING, "EUC-JP-MS");


環境変数がうまく行かない件については、おいおい調べていくことにします。
もしかしたら私のLinuxシステムの問題かもしれませんので…
不勉強な私にお付き合いいただき、本当にありがとうございました。

吉山 晃 wrote:
>  吉山です。
>  2点あります。
> 
> 1.httpd.conf 中の SetServerEncoding は mod_encoding の設定、
> APACHE_FILE_ENCODING は APR(→mod_dav_fs)の設定で、
> 両者とも同じエンコーディングを設定する必要があります。
> 
> 2.Debian の場合、/etc/init.d/apache2 中でシェル変数 APACHE が下記のように
> 定義されています。
> 
> ENV="env -i LANG=C PATH=/usr/local/bin:/usr/bin:/bin"
> APACHE2="$ENV /usr/sbin/apache2"
> APACHE2CTL="$ENV /usr/sbin/apache2ctl"
> 
> なので、ENV= 行の後に、
> 
> ENV="$ENV  APACHE_FILE_ENCODING=EUC-JP-MS"
> 
> とでも設定すると良いと思います。
> 
> On Mon, 18 Sep 2006 12:42:54 +0900
> Yoshinori SATO <red-type00@xxxxxxxxx> wrote:
> 
>> 佐藤です。リプライありがとうございます。
>>
>> 早速試しましたが、表示は変わりません。
>>
>> あれから試してみて判明したのですが、UTF-8のファイル名は
>> mod_encodingがどのような設定であろうと、正しく表示されています。
>> ・SetServerEncoding UTF-8 でディレクトリ中にUTF-8/ASCII混在の場合
>> ファイルリスト・書き込み(UTF-8)ともにOK
>>
>> ・SetServerEncoding UTF-8 でディレクトリ中にEUC-JP/ASCII
>> ファイルリストは"ls -U"の順でEUC-JPファイルが出てくるまで出る
>> 最初に出たEUC-JPファイルは%でコードされた状態で表示される。
>> それ以降は表示されない。
>> 書き込んだファイルは表示されないが実際にはUTF-8で書き込まれている。
>>
>> ・SetServerEncoding EUC-JP-MS
>> ファイルリストは"ls -U"の順でEUC-JPファイルが出てくるまで出る
>> 最初に出たEUC-JPファイルは%でコードされた状態で表示される。
>> それ以降は表示されない。
>> 書き込んだファイルは表示されないが実際にはEUC-JPで書き込まれている。
>>
>> うーん
>>
>> 吉山 晃 wrote:
>>>  吉山です。
>>>
>>> On Mon, 18 Sep 2006 11:44:43 +0900
>>> Yoshinori SATO <red-type00@xxxxxxxxx> wrote:
>>>
>>>> 皆さんはじめまして、こんにちは
>>>> 数日前にWebDAVという技術を知り、自宅サーバに設定しようとしています
>>>> 佐藤と申します。
>>>>
>>>> WebDAV自体は使えるようになったのですが、サーバ上に存在するEUC-JPなファイル名が
>>>> WindowsXPクライアントで正しく表示されなくて困っています。
>>>>  SetServerEncoding     UTF-8
>>> を
>>>
>>>>  SetServerEncoding     EUC-JP-MS
>>> に変えてみて下さい。
>>>
>>>> それと、お手数ですがsourceforge.jpのpath_iconv.txtを
>>>> 現状に即したものにupdateお願いできませんでしょうか。
>>>> path_iconvはAPACHE_FS_ENCODING環境変数で有効化するとか
>>>> パッチの適用順序が変わったという情報は
>>>> とても重要だと思うのですが、MLのID:747以外で見ていません。
>>>> 私の探し方が悪いのかこの情報に辿り着くまでにかなりの時間がかかってしまいました…
>>>  ありゃ。
>>>  時間見つけて更新しておきます。
>>>
>>> ---
>>> 吉山あきら <yosshy@xxxxxxxxxxxx>
>>>
>> -- 
>> Yoshinori SATO <red-type00@xxxxxxxxx>
>>
> 


-- 
Yoshinori SATO <red-type00@xxxxxxxxx>
 http://tf222.net