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

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>]