namazu-ml(avocado)


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

Re: Trouble of indexing on winNT



mithara <mithara@xxxxxxxxxxxxxxxx> wrote:

>> という処理がありますが、ここは Shift_JIS を考慮して
>> 
>> |    if (($SYSTEM eq "WIN32") || ($SYSTEM eq "OS2")) {
>> |	# Shift_JIS の漢字の 1 byte目を保護 [09/23/1998]
>> |	$url =~ s|([\x00-\x7f])\\|$1/|g;          # \ を / に
>> 
>> にすべきです。以前のものだと \ を / に変換するときに 2 byteの文字
>> を破壊してしまうことがあります。修正してみてください。これが原因か
>> もしれません。
>> 
>以下のようにして仕事場のNT上でテストしてみました。
>1.デフォルトインストール
>2.mknmzの該当部分を修正して、インデックス作成
>3.検索結果をみると、
>(修正前) /C|/httpd/archivetest/日本語ディレクトリ/日本語ファイル名
>(修正後) /C|/httpd/archivetest/日本語ディレクトリ\日本語ファイル名
>と"/"が"\"となっている。

まぬけなことを言っていました。 Shift_JIS を考慮するなら

$url =~ 
    s!((?:[\x00-7f]|[\x81-\x9f\xe0-\xef][\x40-\x7e\x80-\xfc])*)\\!$1/!g;

くらいのことをやらないといけませんね。修正してください。


>ということで、日本語ファイル名のNTにおける扱いは、Shift-JISのようです。

了解しました。


>また、「登録論理式の一部が非表示.txt」なるけったいなファイル名は、
>「示 .txt]となってしまっています。これは、\を含んでいるからではないで
>しょうか?(だれがこんなファイル名をつけたのやら(^ ^;;))

これはたぶん v1.2.0.8-beta-5, v1.3.0.0-beta-3 では Shift_JIS から
EUC-JP に変換しているので解決していると思います。


>これが、NTでnamazuを利用する上での共通の問題であればまだしも、私の
>ところ固有の問題であったならば、あまりお手数をわずらわすのもどうかな
>という気がします。

日本語のファイル名が原因なのかそれともそもそもファイルの中身に問題
があるのか見極めたいので、ファイル名をすべて英数字に統一してインデッ
クスを作成してもらえると助かります。

# ファイル名に日本語を使いたいという要望はごくあたり前のことだと思
# うので、きちんと対応させたいところです。

-- Satoru Takabayashi