Namazu-devel-ja(旧)


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

Re: Why strcase functions? (Re: Invaild emphasized problem)



On Wed, 23 Aug 2000 11:22:02 +0900 (JST)
Motoyuki Kasahara <m-kasahr@xxxxxxxxx> wrote:

> まず確認ですが、strcasecmp(), strcasestr() に渡される日本語の文字
> 列は、常に EUC-JP でエンコーディングされているのですよね? shift 
> JIS やその他の場合もあるのであれば、処理は依然としてうまくいきま
> せん。(これは namazu-dev-ja らしからぬ質問ですが、お許し下さい。)

与えられたキーワードはまずnmz/codeconv.cで定義されて
いるnmz_codeconv_query()に渡されます。ここで、
nmz_codeconv_internalが呼ばれてShift_JISやISO-2022-JP
の文字列はEUC-JPに変換されます。

> strcasecmp(), strcasestr() を使うということは、1 バイト英字 (半角
> 英字) の大文字小文字を区別なしで比較したいのだということですよね。

これもnmz_codeconv_query()の中でzen2han()が呼ばれて、
全角英数字は半角英数字に正規化されます。

> だとすれば正規化の際に英大文字、小文字につい
> てものどちらかに統一してしまって、strcmp(), strstr() を使うという
> 方法もあり得るような気がして、やはり同じ疑問に戻ってしまいました。

それだと表示される要約も正規化されてしまう気がしますが、
問題にはならないですか?


  A A
= . . =
   V
end
Ryuji Abe