Namazu-devel-ja(旧)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [namazu-users-ja] 「海」で検索すると文字化け
From: Jun Yamada <hamu69@xxxxxxxxxx>
Subject: [namazu-devel-ja] Re: [namazu-users-ja] 「海」で検索すると文字化け
Date: Tue, 03 Jul 2001 10:17:11 +0900
> > 1. mknmz の時に、本来は含まれていない 「海」という語を
> > NMZ.w の中に生成してしまう
> > (か、もしくは)
> > NMZ.w には「海」はないのだけれど、namazu.cgi
> > が、海もあると思ってしまうことがある。
> >
> 他の文書中にも海があるので NMZ.w に「海」は生成されていました。
> 問題の文書中に「海」があることを認識していること自体は正しいですが、
> その後の作業で文字コードの誤認識(?)をおこして、htmlを吐き出して
> いるような感じです。ただしこの時のスコアは正しい値のままです。
>
> > 2. namazu.cgi の方で、見つかった語を強調する時に、
> > 正しくない strong を入れてしまう
> 文字化けをおこしている文章を調べてみると、「海」という単語が必ず
> 含まれています。私のサイト中では例外はありませんでした。
これらの報告からすると、mknmz には問題がないし、namazu あるいは
namazu.cgi での該当文書ピックアップ部分にも問題ないとおもいます。
やはり、HTML的な強調表示(の中で呼ばれている strcasestr())に問題が
あるようです。
> ですが、文字化けをおこした文書と同じ文章を含んでいて、しかも「海」
> という単語を含んでいる文書でも、文字化けをおこさないものもあります。
こういうケースは十分ありえるとおもいます。EUC で「海」は b3 a4 で
すが、一バイト目が a4 になるのはひらがなで、二バイト目が b3 のひら
がなは「こ」ですから、「ここ」とか「この」などの文字列が、タイトル
部や要約部に現れてしまうと strcasestr() によって泣き別れを起こして
文字化けします。そうでなければ、たまたま正しく「海」だけを強調表示
して終わります。
まあ、たまたま問題がおこりやすいのが「海」だったというだけで、他の
文字でも同じことが起こっていたはずなので、2.0.6 で直す方がよいかと
おもいます。
--
馬場 肇 ( Hajime BABA ) E-mail: hajime.baba@xxxxxxxxx
国立天文台 天文学データ解析計算センター
--