Namazu-devel-ja(旧)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [namazu-users-ja] 「海」で検索すると文字化け
- From: Rei FURUKAWA <furukawa@xxxxxxxxxxxx>
- Date: Mon, 02 Jul 2001 21:49:48 +0900
- X-ml-name: namazu-devel-ja
- X-mail-count: 01524
- References: <B7638D1A.56EB%hamu69@junlab.com> <20010702165635Y.hajime.baba@nao.ac.jp>
古川です。
From: Hajime BABA <hajime.baba@xxxxxxxxx>
Subject: [namazu-devel-ja] Re: [namazu-users-ja] 「海」で検索すると文字化け
Date: Mon, 02 Jul 2001 16:56:35 +0900
hajime.baba> 「山と海」などと入っている文章をインデックスして、namazu -h 海 .
-山-- -と-- -海--
bb b3 a4 c8 b3 a4
-海-- -海--
のようになっていて、「山」の 2 バイト目と「と」の 1 バイト目を
囲っているようです。
hajime.baba> どうも、emphasize() の中の
hajime.baba>
hajime.baba> do {
hajime.baba> ptr = strcasestr(ptr, key);
hajime.baba> の部分でEUC1バイト目と2バイト目の「泣き別れ」を起こしているっぽい
hajime.baba> です。しかし直したいが直せない...
hajime.baba>
hajime.baba> あるいは、もしかしたら、strcasestr() の中の _nmz_lower() に問題が
_nmz_lower() ではなくて、strcasestr 自体が 2 バイト文字に対応し
ていないのが原因だと思います。
2 バイト文字だったら、次の 1 バイトとペアで比較して、ポインタも
2 つ進めないといけないですよね。
直すこと自体は簡単ですが、locale なども考慮して、処理を切り替え
ないといけないですよね?そこらへんで、どういうスタイルで直すべ
きか、が私には判断できないです。
--
Rei FURUKAWA
furukawa@xxxxxxxxxxxx