CGI-BBS > データベース > 全文検索 > namazuと2バイト文字のやり取りがうまくできません


カレッヂ
カレッヂ


質問者 KIT  投稿日 1/8(火) 17:29:15
 お邪魔します。今までは覗くだけでしたが、今回は質問をさせて頂きます。

 namazuをインストールし、検索まではうまく行くのですが、標準で付いているテンプレートを利用してhtml出力すると、ファイル名に2バイト文字を利用している場合、その文字がうまく表示されません。

ex.

4. <文書名>(スコア: 2)
著者: Yukinori Hayashi
日付: Tue, 08 Jan 2002 10:46:32
<本文>
http://kit/cgi-bin/namazu/share/namazu/doc/ja/%C1%B4%CA%B8%B8%A1%BA%F7.doc (19,456 bytes)

 このような表示になります。<文書名><本文>は、2バイト文字でも正しく表示されているのに、何故かファイル名だけうまく表示されません。

 何が原因と考えられるでしょうか?
 ちなみに、.namazurc の Lang は

 Lang          ja_JP.SJIS

 です。
回答者 しあわせのツボ  [削除]  投稿日 1/8(火) 19:12:51
ちゃんと表示されてるじゃないですか。(笑)

そもそもURLにマルチバイト文字を使ってはいけないことになっています。
なのでエンコードして1バイト文字に変換する決まりになっています。

普段はブラウザが黙ってエンコード処理をしていますが、この場合はnamazuが気を利かせてエンコードしたのでしょう。それを人間が見ると読めないだけのことです。
URIとして見れば正しいので、そのアドレスで正しいファイルにアクセスできます。
質問者 KIT  [削除]  投稿日 1/8(火) 20:28:39
 早速の回答ありがとうございます。
 ところが、このアドレスで正しいファイルにアクセスできないのです。
※前回の質問は言葉足らずであったようです・・・済みません。

 半角英数字で表示されているファイルは、アドレスをクリックすれば対象のファイルを開くことができますが、このように表示がおかしい(正しい?)アドレス表示になっている物については「該当のファイルはない」と言われてしまいます。

 ちなみに、アドレスを右クリック→ダウンロードを試しても同じ結果です。

 参考までに、実行環境はWin2000/WinXP+IISという環境です。
回答者 みみみ  [削除]  投稿日 1/9(水) 11:55:08
インデックスファイルを作成する時に「-U」オプションを付けるとOK。
質問者 KIT  [削除]  投稿日 1/9(水) 14:37:30
 みみみさんへ

 うまく行きました!
 手持ちのmanazu本をよく見たら、-Uオプションについても書かれていました。
 勉強不足でした。

 貴重な御意見、ありがとうございました。

このページは終了したので返信(回答)は書きこめません

Web裏技