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

mysql:1794

From: <takeshi@xxxxxxxxxx>
Date: Wed, 22 Mar 2000 04:23:34 +0900
Subject: [mysql 01794] Re: sjis & order by


どうもありがとうございます

At Wed, 22 Mar 2000 01:52:02 +0900,
とみたまさひろ <tommy@xxxxxxxxxx> wrote:
> 
> とみたです。
> 
> At Tue, 21 Mar 2000 20:18:42 +0900,
> takeshi@xxxxxxxxxx wrote:
> 
> > 現在の MySQL のコードでは、char 型に代入された SJIS 文字の
> > 2byte 目が 0x41-0x5a (=[a-z]), 0x61-0x7a (=[A-Z]) の時に、
> > 2byte 目が ケース非依存でソートされてしまいます。
> 
> ああ、SJIS にはそういう問題があったんですね。試してみると確かに "1",
> "A", "B" が "B", "1", "A" の順に並んじゃいますね。気づきませんでし
> た。
> 
> > MySQL を --with-charset=sjis で作成して、
> > char 型(binary 属性はつけない)に sjis データを入れた時、
> > order by が一部、正しく出なかったのを修正するパッチです。
> > 検証してみてください。
> > 3.22.32用のパッチです
> 
> いくつかまずいところがあるようです。実際に問題が発生するのを確認したわけ
> ではありませんが。バッファをオーバーしてデータを読み書きする可能性があっ
> たり、「\」の後に2バイトデータが来ることが考慮されてなかったり…。

「\」の後に2バイト文字 か...  考慮外でした。

> # GBK という名称が残ってたり… :-)

やっぱり削られた. :)
# 半角かなのソートオーダーを後で組み込むとき,
# GBK のルーチンが色々使えないかなと思って残してたけど

> ということで私もパッチを作ってみました(ctype-sjis.c だけ)。strnxfrm とか 
> like_range とかを良く理解せずに書いているので、変かもしれません… (^^;
> 
> # ぢつわ GBK のコードの方が正しかったりして… (^^;;

コード空間が GBK, SJIS はほとんど同じなので、
もし GBK で問題がでるのなら、同じ問題が SJIS でも起こるはず、
と思ってます。

# ごめんなさい、この続きは来週から又とりくみます.
# 取り急ぎ.

-- 
 村上 毅  takeshi@xxxxxxxxxx

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

      1790 2000-03-21 20:18 [<takeshi@xxxxxxxxxx>] sjis &amp; order by                     
      1792 2000-03-22 01:52 ┗[とみたまさひろ <tomm]                                       
->    1794 2000-03-22 04:23  ┗[<takeshi@xxxxxxxxxx>]