[前][次][番号順一覧][スレッド一覧]

mysql:912

From: 民斗 <民斗 <tommy@xxxxxxxxxx>>
Date: Fri, 21 May 1999 09:43:29 +0900
Subject: [mysql 00912] Re: 日本語テストの方法

民斗です。

[Subject: [mysql 00909] 日本語テストの方法]
[Date: Fri, 21 May 1999 02:45:09 +0900  From:Hiroshi Marui]

> 皆さんは、コンパイル済みの日本語対応版のMySQLの日本語
> テストってどうやっていますでしょうか?

日本語対応とは何ぞや? ということで日本語文字コードの特殊性を考えると、

 1. 1文字が複数バイトである。
 2. 文字の構成バイト中に '\' 等の特殊文字がある(SJIS の場合)。
 3. 文字の構成バイト中に 0x80 以上のコード(最上位ビットが1のコード)が
    ある。

くらいでしょうか。MySQL の場合でこれらの条件を考えると、

 1 が問題になるのは検索に LIKE 演算子の '%' を使用した時。
 2 が問題になるのはそういうコード(SJIS での「表」とか)を使用した時。
 3 は MySQL では最初からクリアされている。

ということで、私は 1 と 2 に絞って簡単にテストしてみて、問題なければそれ
で OK ってことにしてしまっています。

# 今回 3 に関して gcc のバグが発覚したけど…。

あ、そうそう、知らない人がいるかも知れないので一応書いておきますが、
--with-charset で ujis や sjis を指定しても MySQL の全ての機能が完全に日
本語対応になるわけではないです。

例えば、regexp 演算子は日本語対応していないので、'.' は1文字じゃなくて、
純粋に1バイトに適合してしまいますし、char(5) 項目に "いろは" という文字
列を突っ込むと "いろ"+0xa4("は"の1バイト目)が格納されてしまいます。

# やっぱり、どっかに書いといた方がいいかな…(^^;

--
民斗 <tommy@xxxxxxxxxx>

[前][次][番号順一覧][スレッド一覧]

       909 1999-05-21 02:45 [Hiroshi Marui <bant@] 日本語テストの方法                      
->     912 1999-05-21 09:43 ┗[民斗 <tommy@xxxxxxxx]