Namazu-win32-users-ja(旧)


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

Re: Netscape + Apache 日本語で検索できない?



田村と申します。

竹迫様、丁寧な解説、ありがとうございます。

> 逆に、namazu の動いている /cgi-bin 以下で EncodingEngine が Off に
> なっていれば良いので、、、
>
> <IfModule mod_encoding.c>
>     EncodingEngine On
>     SetServerEncoding UTF-8
>     AddClientEncoding "Mozilla/5" JA-AUTO-SJIS-MS
>     <Location /cgi-bin>
>       EncodingEngine Off
>     </Location>
> </IfModule>

  WebDAV は導入しかけて頓挫しているので、こちらの方法で試してみましたが
  検索が出来ませんでした。症状は対応する前と同じです。
  (Namazu に UTF-8 の query が渡る)
  httpd.conf 中で ScriptAlias の設定をこれらの前に持ってきたりも
  しましたが変わりませんでした。

> IIS の場合は、URI パス中に含まれる UTF-8 の文字列をサーバ上の
> ファイルシステム上のエンコーディングに自動マッピングして

  つまり、URL 中の ? より前の部分に UTF-8 文字が含まれていても
  サーバにおける文字コードに依存して、例えば shift_jis とかに
  変換されるわけですね。

  IE では「URLをUTF-8で送信」にしていても QUERY_STRING は文書の
  文字コードに依存する(UTF-8にならない)という私の推測は間違っては
  いないでしょうか?

> mod_encoding の設定で、EncodingEngine on とすると、HTTPリクエストヘッダ中
に
> 現れるすべての文字列をURIアンエスケープして、さらに文字コードをサーバ側の
> エンコーディングに変換してしまうといった副作用があります。mod_encoding の
> ソースコードを読む限り、これは仕様のようです。
&
> Apache の mod_encoding は、HTTPリクエストヘッダ全体を
> 文字コード変換する仕組みなので、問題が発生していたのです。

  さすがに mod_encoding のソースまでじっくり眺めませんでした。
  (Windows 環境下でビルドする方法を探し当てるのにひと苦労だったから・・・)
  mod_encoding をいじると IIS のような振る舞いが出来る
  可能性があるのでしょうか?


とても勉強になりました。ありがとうございました。


(株)島精機製作所 システム開発部
田村孝彦 (Takahiko TAMURA)
takat@xxxxxxxxxxxxxxxx
TEL +81-73-474-8220
FAX +81-73-474-8276