Namazu-win32-users-ja(旧)


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

RE: MS− WORD 文書の表示



はじめまして、竹迫と申します。

# namazu-win32-users-ja@xxxxxxxxxx にも話題を振ります。

"akutsu-toru" <toru_akutsu@xxxxxxxxxxxxxxx> said:
>テキスト&HTML文書以外の文書をインデックス化するとき
>文書フィルタを使用することがNamazuの説明書に記述されて
>いますが、実際に試みたところ添付ファイルのように文書のパス
>にごみがでて指定できませんでした。
>/doc/%A3%〜.doc

私も Namazu 2.0.4 for Win32 を利用させていただいておりますが、
mknmz のデフォルトの状態では、日本語で記述されたファイル名や
パス名の漢字コードが、EUC-JP でエンコードされてしまうため、
検索結果の文書へのリンク先をクリックしても、IIS などの Web
サーバ経由でアクセスできなくなってしまう現象が発生しました。

私の場合は、ShiftJIS のまま利用するように mknmz にパッチを当てて
運用していますが、他にスマートな方法はありませんでしょうか?

# 日本語のパス名やファイル名は使わないというのもありますが... (^^;

▼ \namazu\bin\mknmz

<修正前>
504行目:    if (($SYSTEM eq "MSWin32") || ($SYSTEM eq "os2")) {
505行目:        $file = codeconv::shiftjis_to_eucjp($file);
506行目:    }

<修正後>
504行目:    if (($SYSTEM eq "MSWin32") || ($SYSTEM eq "os2")) {
505行目:        # $file = codeconv::shiftjis_to_eucjp($file);
506行目:    }

mknmz の505行目(mknmz.bat では512行目)をコメントアウトします。

阿久津さんの例では、"Jdaiou.doc" というファイル名の
漢字コードが EUC-JP に変換され、さらにURIエスケープされて、
"%A3%CA%A3%E4%A3%E1%A3%E9%A3%EF%A3%F5.doc" となっていましたが、
上記のパッチを当てることにより ShiftJIS のままURIエスケープされるので
IIS 経由でもアクセスできるようになると思います。

--
   広島市立大学 情報科学部 情報機械システム工学科
     竹迫 良範 <takesako@xxxxxxxxx>