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

mysql:34

From: "民斗 " <"民斗 " <tommy@xxxxxxxxxx>>
Date: Thu, 29 Jan 1998 18:16:43 +0900
Subject: [mysql 34] Re: about Japanese Kanji code


[Subject: [mysql 31] Re: about Japanese Kanji code]
[Date: Thu, 29 Jan 1998 16:31:21 +0900  From:Tamon Nomura]

> たしかMySQLは、どんなコードでもOKなんで、MySQLではなく
> PerlやDBIに問題がないかしらべてみてください。

私も最初は、8bit 通すからどんなコードでも OK だと思っていたんですが、
configure 時に適切な charset を選択しないと、select 時に問題が発生する
ことがあります。

例えば、デフォルトの latin1 だと、ケース非依存の比較時に 'A' と 'a' が
同じに扱われますが、その他に 0xc0〜0xc3, 0xe0〜0xe3 も同じと扱われて
しまったりします。

そのため、EUC だと '太'(0xc2c0) と 'AA' が一致してしまいます。


> たとえば、"表"もこのまま
> $sth = $dbh->prepare( qq{ INSERT INTO test_table (test_col) VALUES ('表')})
> $rc = $sth->execute;
> ではエラーですが
> 
> 表が入った変数$hyoがあるとして
> $sth = $dbh->prepare( qq{ INSERT INTO test_table (test_col) VALUES (?)})
> $rc = $sth->execute($hyo);
> なんてやると、ほぼコードを意識しないでインサートすることもできます。

この方法で挿入はできても、select 時にはやはり \ を意識しないといけな
かったりしないでしょうか?

regexp を使ってたりするとはまりそう…(^^;

--
民斗 <tommy@xxxxxxxxxx>

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

        26 1998-01-28 20:00 [Hideo Kimura <kimura] about Japanese Kanji code               
        27 1998-01-29 10:53 ┣["民斗 " <tommy@xxxxx]                                       
        28 1998-01-29 11:24 ┣[<takeshi@xxxxxxxxxx>]                                       
        31 1998-01-29 16:31 ┗[Tamon Nomura <tamon@]                                       
        33 1998-01-29 17:14  ┣[<takeshi@xxxxxxxxxx>]                                     
->      34 1998-01-29 18:16  ┗["民斗 " <tommy@xxxxx]                                     
        35 1998-01-29 23:33   ┣[<takeshi@xxxxxxxxxx>]                                   
        39 1998-02-03 19:14   ┗[Tamon Nomura <tamon@]                                   
        40 1998-02-04 02:22    ┗["民斗 " <tommy@xxxxx]