Namazu-devel-ja(旧)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: UTF-8 index
- From: Yukio USUDA <m6694ha392t@xxxxxxxxxxxxxxx>
- Date: Mon, 01 Mar 2004 00:13:37 +0900
- X-ml-name: namazu-devel-ja
- X-mail-count: 03729
- References: <4041F328.8900054E@asahi-net.or.jp>
臼田です。
> 寺西です。
>
> Yukio USUDA wrote:
> >
> > ファイル名の変換をshiftjis→euc(正規化つき)→uriエンコードしている
> > 手順に問題があるのですが
> > shiftjis→euc→uriエンコードとしてもeucにない文字が消滅したりするため
> > 結局完全な仕様とはなりません。
> >
> > shiftjis→uriエンコードという変換のみにしておけばこの問題は根本
> > から解消されます。
>
> それは UTF-8 化でとりあえず解決する話ですよね。
> (万能ではないにしろ、UTF-8 からは可逆変換可能ですから)
>
UTF-8からの変換もCP932の問題で用心しないと厄介かと思います。
> > > では、$INDEXFIELD_FILESYS_CHARSETは廃止して、文字コード変換をせずに
> > > 元のバイナリコードのままuriエンコードすることにします。
> > > (という意味の統一ですよね)
> > >
> > と書いたのはこれのことです。
>
> UTF-8 化により統一して扱いたいので、手を加えたいと書いています。
> > そのため表示用に別途NMZ.field.duriというのを設けてみました。
> > あるいは、元のバイナリコードからuriエンコードしたNMZ.field.uriを
> > namazu側で文字コード変換処理をして表示するのがよいと思います。
>
> NMZ.field.uri に UTF-8 コード(エンコードもしない)で入れて、表示およ
> びリンク生成時に適当なものに変換することで目的は果たせます。
>
・namazuでの表示ルーチンの書きやすさ
・uriアクセスの完全さの保証
・filed検索でのファイル名の探しやすさ
・namazu以外のクライアントがNMZ.field.uriを元のuriへアクセスする方法
を簡易にしておく
といった点が選択基準だと思います。
NMZ.field.uri に UTF-8 コード(エンコードもしない)で入れるという案は
元の環境、もしくはインデックスの移転先の環境をどこかに
保存する必要がありますが、
1つ目と2つ目にはutf-8での統一でよいように思えます。
しかし、
3つ目にはファイル名も正規化されていたほうがよさそうですし
4つ目には元のバイナリコードのままuriエンコードされているのが
よさそうです。
アクセス用と表示用に2つfieldを作るのはやはり冗長でしょうか
> また、インデックスが euc-jp であっても一部の機種依存文字以外で
> あれば半角カナを含めて、上記の方法で十分に使えるはずです。
>
utf-8には半角カナもあるのですが、nkfは半角カナを全角にしますね
> が、nkf を使ってしまうとダメなわけで、nkf を使わない変換が必要と
> なります。
shiftjis→eucは計算式で変換できますが
nkfなしでutf-8にしようと思うと厄介ですね。
nkfに新しいオプションをつけてもらうのですかね。
臼田幸生