Namazu-devel-ja(旧)


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: WebDAVサーバの検索



寺西です。

Kenji Suzuki wrote:
> 
> > 1. に関しては pl/gfilter.pl の filename_to_title 辺りで nkf を
> > 通しているものと思います。
...
> > 現状では、Windows 環境の場合、Shitf_JIS から EUC に変換しています
> > が、より一般化して全て toeuc を通すようにしても良いかもしれませんね。
> >
> > ただし、短いファイル名の場合、nkf の文字コード自動認識では誤認する
> > 可能性もないわけではないので、何らかの工夫も必要なのかもしれません。
> 
> 現実に、4文字のディレクトリ名では、自動認識に失敗しました。
> 設定で UTF-8 固定のオプション(というか入力文字コードの固定)を
> 用意する必要があるかと思います。

そうですか。では utf8toeuc のような入力文字コード固定の関数を用意
して通す必要がありますね。(関数名はもっと別のが良いと思っています。
できれば、Perl 5.8 に近いもの)

Shift-JIS では $mknmz::SYSTEM が "MSWin32" か "os2" の時に
shiftjis_to_eucjp が通るようになっていますので、こちらも
自動認識ではありませんね。
(ということは、現状では MSWin32 か os2 以外では Shift-JIS の
ファイル名は使えないということになっています。これはこれで
良いのか?)

自動認識ではまずいとなると、WebDAV サーバであるか否か
あるいはファイル名の漢字コードが何であるかを mknmz が自動認識
またはユーザによる指定が必要ということになりますね。

てっとり早くやるには $util::LANG_MSG が ja_JP.utf8 なら
utf8toeuc を通す。ja_JP.SJIS なら shiftjis_to_eucjp を
通すということで良いのかもしれません。

前提条件として、ファイル名の漢字コードは統一されているものと
しますが、これぐらいの前提条件はつけても支障はないでしょう。

横道にそれますが、更に CAP でエンコードされたファイル名も
ここでデコードすると幸せになる人がいるかもしれませんね。
(これの指定方法はどうする? という話はありますが...。)

参考までに自動認識に失敗した4文字のディレクトリ名が何か教えて
いただけるでしょうか?

> > 2. に関してはファイル名が Shift-JIS の際でもうまく動いているはずな
> > ので、何もしなくてもよさそうに思いますが、どうもそうではないという
> > ことですね。
...
> 説明不足でした。これは、日本語ファイル名を人間が読めるように
> したいということで、加えた変更です。例えば、

状況わかりました。やっぱり、そうあるべきですね。

余談ですが。
http://webdav.todo.gr.jp/faq/mod_dav.faq-jp.html#04-04
によると、ファイル名に UTF-8 以外のエンコーディングが使えるパッチが
開発中のようです。もうできているかもしれませんね。これを使えば
ファイル名を EUC にできるでしょうから、問題は解決しちゃいますね。
-- 
=====================================================================
寺西 忠勝(TADAMASA TERANISHI)  yw3t-trns@xxxxxxxxxxxxxxx
http://www.asahi-net.or.jp/~yw3t-trns/index.htm
Key fingerprint =  474E 4D93 8E97 11F6 662D  8A42 17F5 52F4 10E7 D14E