mysql:9728
From: <takeshi@xxxxxxxxxx>
Date: Thu, 01 Jul 2004 11:18:02 +0900
Subject: [mysql 09728] Re: MySQL 4.1.2 の日本語の扱い
村上です。 At Fri, 18 Jun 2004 09:40:42 +0900, takeshi@xxxxxxxxxx wrote: > 村上です。 > ただ、client=binary / table(server) = sjis の時、 > エスケープ処理がどうなるかは、まだ私の方では未検証です。 動かした OS は MS じゃないですが、 Server: sjis Client: binary の時でも、エスケープ処理の不安はありませんでした。 詳細は以下のようになりました。 =================== 目的 Server: sjis / Client: binary 状況下で mysql_escape_strings() がどうのようにエスケープするのかを確認する サーバーはどう解釈するのか確認する 実験 1. SJIS 全角カタカナの'ソ' (= 0x835C) を INSERT 2. INSERT 後に SELECT INSERT するときには以下の2通りを試す i1. VALUES ('ソ') i2. "VALUES ('" + mysql_escape_strings("ソ") + "')" 文字ソを mysql_escape_strings 関数で処理した文字列をクエリに使ったという意味。 i1 の INSERT は、 サーバーに到達したクエリ : VALUES ('ソ') 'ソ' の部分の 16進値: 0x27835C27 結果 : SQL 構文エラー i2 の INSERT は、 サーバーに到達したクエリ : VALUES ('ソ\') 'ソ\' の部分の 16進値: 0x27835C5C27 結果 : INSERT OK MYD の中身: 835C が記録されている。余分な \ は無い。 2 SELECT の結果 0x835C が返ってきた。 考察 クライアントは自分のキャラクタセット binary に従って文字列を escape 。 サーバーは、受け取った文字を binary に従ってエスケープを戻し、クエリを実行。 サーバーは MYD ファイルの中をそのままクライアントに返す。 Client: binary / Server: SJIS の状況下でも、エスケープ処理に混乱はない。 ================ 村上 takeshi@xxxxxxxxxx
9530 2004-06-03 23:28 [とみたまさひろ <tomm] MySQL 4.1.2 の日本語の扱い 9531 2004-06-04 01:51 ┗[とみたまさひろ <tomm] 9533 2004-06-04 08:26 ┣[SUGAWARA Hajime <sug] 9547 2004-06-07 19:25 ┗[<takeshi@xxxxxxxxxx>] 9550 2004-06-07 21:09 ┣["Ryuichiro Munechika] 9556 2004-06-07 22:02 ┃┗[SUGAWARA Hajime <sug] 9573 2004-06-08 11:51 ┃ ┗[Hirofumi Fujiwara <f] 9586 2004-06-10 02:48 ┃ ┗["HIROSE, Masaaki" <h] 9628 2004-06-13 21:50 ┃ ┗[Hirofumi Fujiwara <f] 9578 2004-06-09 08:05 ┣[とみたまさひろ <tomm] 9580 2004-06-09 09:39 ┃┗[<takeshi@xxxxxxxxxx>] 9592 2004-06-11 05:04 ┗[<shuichi@xxxxxxxxxx>] 9596 2004-06-11 11:00 ┣[<shuichi@xxxxxxxxxx>] 9598 2004-06-12 00:16 ┗[<takeshi@xxxxxxxxxx>] 9611 2004-06-12 21:55 ┗[とみたまさひろ <tomm] 9687 2004-06-18 09:40 ┗[<takeshi@xxxxxxxxxx>] 9699 2004-06-23 09:41 ┣[<takeshi@xxxxxxxxxx>] -> 9728 2004-07-01 11:18 ┗[<takeshi@xxxxxxxxxx>] 9756 2004-07-02 21:14 ┗[<takeshi@xxxxxxxxxx>] 9808 2004-07-10 16:55 ┗[<takeshi@xxxxxxxxxx>] 9839 2004-07-13 14:26 ┗[Shuichi Tamagawa <sh] 9842 2004-07-13 15:12 ┣[Hirofumi Fujiwara <f] 9848 2004-07-14 09:35 ┃┗[<shuichi@xxxxxxxxxx>] 9850 2004-07-14 09:56 ┃ ┗[<takeshi@xxxxxxxxxx>] 9852 2004-07-14 12:25 ┃ ┗[Hirofumi Fujiwara <f] 9854 2004-07-14 13:39 ┃ ┣[<takeshi@xxxxxxxxxx>] 9858 2004-07-14 15:31 ┃ ┃┗[Hirofumi Fujiwara <f] 9860 2004-07-14 16:35 ┃ ┃ ┣[<takeshi@xxxxxxxxxx>] 9867 2004-07-16 02:16 ┃ ┃ ┗[Shuichi Tamagawa <sh] 9863 2004-07-15 11:34 ┃ ┗[<shuichi@xxxxxxxxxx>] 9847 2004-07-14 08:52 ┗[<shuichi@xxxxxxxxxx>] 9849 2004-07-14 09:39 ┗[<takeshi@xxxxxxxxxx>]