Namazu-users-ja(旧)


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

Re: EUCでフォーム部分の文字化けについて



佐々木です。

寺西さん、コメントありがとうございます

Tadamasa Teranishi <yw3t-trns@xxxxxxxxxxxxxxx> wrote:

> namazu を -h オプション付きで実行すると HTML が出力されます
> ので、これをファイルに保存して、kcc でチェックしてみてください。
> また、そのファイルを Web ブラウザで開いて文字化けがないか確認して
> みてください。

前後しますが次のように namazu -h でtest.htmlを作成し、Webブラウザ
で開きました。全く文字化けなどは見当たらず正常に表示されました。

# namazu -h テスト投稿です /var/lib/namazu/index/ml-name \
  > /var/www/html/mhonarc/ml-name/test.html

以下、前後しますが・・

> 作成したインデックスを使って、
> namazu コマンドで日本語の検索および表示はできているということ
> ですね?
> であれば、インデックスには問題がないということになり、namazu.cgi 
> の設定の問題ということでしょう。

はい、舌足らずでしたがnamazuコマンドで日本語の検索および表示はで
きています。

> > 日本語を入力して行った場合、フォームのテキストフィールドに化けた
> > 文字が表示され、実行(submit)ボタンも消えてしまいます。例えば、
> 
> この時、IE をお使いなら「表示」「エンコード」が日本語(EUC)に
> なっているか確認してください。

(検索実行後の画面でも)
「表示」「エンコード」は(自動的に)日本語(EUC)になっています。
この状態でフォーム部分がこわれたような表示になります。

> > このページをWindowsのメモ帳で見ると該当部分は
> > <input type="text" name="query" size="40" value="裔ニ蚶裔ve「」裔ツ">
> > <input type="submit" value="Search!">
> > のようになっています。(valueの中のニ、「、」、ツは実際は半角です)
> 
> EUC コードのはずですので、メモ帳では文字化けするが当然です。
> そういう意味では正しく EUC コードになっているのではないかと
> 思えます。(この化けた文字が EUC として正しいかどうかまでは確認
> していませんけど。)
> 
> > 検索実行後のページの他の部分は文字化けしていませんが、検索に失敗
> > しているため
> >   検索式にマッチする文書はありませんでした。
> > というメッセージが表示されます。

「検索実行後のページの他の部分は文字化けしていませんが」と書いた
のは一部不正確で、参考ヒット数の行の行末も次のように壊れています。

参考ヒット数: { [ 縺: 0 ] [ 薙: 0 ] [ s: 16 ] [ 縺: 0 ] [ ・: 0 ] [ ■: 27 ] [ 縺: 0 ] [ 移 0 ] :: 0 } 

ここまで書いて思ったのですが、どうもSubmitした後、namazuの検索エ
ンジンに届くまでの間に、文字コード関連の問題があるのでしょうか。
つまりnamazuの話ではなくWebサーバやOS側の設定なのかもしれないと。
# だとしますとnamazuから離れる話題で恐縮ですが
cgiに関するApacheなどの設定で何か考えられるでしょうか。

なお、実行後の画面は与える日本語文字列に左右され、文字列が
  こんにちは
ですと上記の通りですが
  テスト投稿です
の場合には参考ヒット数の行末は壊れ、テキストフィールドには
繝・せ繝域兜遞槭A・・
と表示される現象は同じものの、実行(submit)ボタンは消えません。
文字列によって日本語の区切りが壊れているような現象です。

> > mknmzで作成したNMZ.head.jaは、<head></head>の間に
> > <Meta HTTP-EQUIV="content-type"
> >         CONTENT="text/html;charset=EUC-JP">
> > を加えた以外にカスタマイズはしていません。
> 
> ここが気になります。
> このカスタマイズした際に漢字コードを EUC-JP で保存しましたか?

先のメールのlocale環境のrootユーザで、viで編集しましたので
この点は問題ないと思っています。
(実際にはTera Termでtelnetで作業しており、この際の[設定]-[端末]
  の漢字[受信]、漢字[送信]は共にEUC、改行コードは送信、受信ともに
 CRという設定で接続しています。)

※複数のメーリングリストを同じ方式でhtml化し検索できるようにした
 いと考えていますが、全てEUCで作成する方針とし、同じくviで
 /usr/share/namazu/template/NMZ.head.ja
 に上記Metaタグを記述しました。
 つまりmknmzで作成されるNMZ.head.jaには最初からこのタグが入る状
 態にしています。

-- 
SASAKI Yoshiaki <NQC38290@xxxxxxxxx>