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