[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]
[webdav-jp:0272] Re: Another question [Re: Re: 対 MacOs9,MacOsX の文字化けについて ]
- To: <webdav-jp@xxxxxxxx>
- Subject: [webdav-jp:0272] Re: Another question [Re: Re: 対 MacOs9,MacOsX の文字化けについて ]
- From: "Akira YOSHIYAMA" <a-yoshiyama@xxxxxxxxxxxxx>
- Date: Mon, 4 Mar 2002 10:36:20 +0900
- Delivered-to: webdav-jp@begi.net
- Importance: Normal
- Posted: Mon, 4 Mar 2002 10:35:19 +0900
吉山です。
> From: Kunio Miyamoto [mailto:wakatono@xxxxxxxxxx]
> Sent: Saturday, March 02, 2002 10:34 PM
>
> みやもとです。
>
> > site=pcweb&pcweb=pc-2&size=mini2.files
> > というファイル名のファイルがあると,WindowsのWebフォルダから
> > アクセス不能になるというのはFAQもしくは既知の問題でしょうか?
> > #でも,Webフォルダに入ってるってことは,放り込むことは
> > #可能だったってことか...ディレクトリの中にあるから
> > #表示しなければオッケーなのかな...
>
> & というキャラクタについて、mod_dav の中での扱いが特別なので
> 起きてる現象だった気がします。
そうです。
昔別MLで私が書いた投稿より転送します。
---
NEC OSSソリューションセンター 吉山あきら
mailto:a-yoshiyama@xxxxxxxxxxxxx
http://www.sw.nec.co.jp/special/linux/
---
mod_dav は & を '&' として返しているようです。困ったことに、これを
受けたIEが正しく処理できないようです。どちらが仕様を満たしていないのか
は不明です。
mod-dav のソースに下記の変更を行うことで解決しました。
--- dav_util.c.orig Mon Dec 17 11:10:20 2001
+++ dav_util.c Mon Dec 17 11:19:12 2001
@@ -595,7 +595,7 @@
if (c == '<' || c == '>')
extra += 3; /* < or > */
else if (c == '&')
- extra += 4; /* & */
+ extra += 2; /* & */
else if (quotes && c == '"')
extra += 5; /* " */
}
@@ -619,11 +619,16 @@
*qscan++ = ';';
}
else if (c == '&') {
+ /*
*qscan++ = '&';
*qscan++ = 'a';
*qscan++ = 'm';
*qscan++ = 'p';
*qscan++ = ';';
+ */
+ *qscan++ = '%';
+ *qscan++ = '2';
+ *qscan++ = '6';
}
else if (quotes && c == '"') {
*qscan++ = '&';