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

mysql:13246

From: <ska_king2005@xxxxxxxxxx>
Date: Tue, 15 Aug 2006 16:31:18 +0900 (JST)
Subject: [mysql 13246] Re: FEDERATED ストレージ・エンジンでの日本語取り扱い

またまたska kingです。
自分の読解力の無さに辟易します。。。

>TOいけださん
なるほど。ご丁寧な説明ありがとうございます。
わかってなかったのは私だけでしょうが、今回の説明といまま
でのログを見返してようやくわかりました(笑)

mysql_reconnect() -> mysql_real_connect()
                  -> mysql_set_character_set() -> SET NAME
の発行

問題のSET NAMESを発行しているのは、
libmysql/client.cのsprintfからmysql_real_query()のif文あ
たり(3000-3001行目)でしょうか。。。

バグレポートの結果が楽しみです(^^A

--- Tetsuro IKEDA <te.ikeda@xxxxxxxxxx> wrote:

> こんにちは。いけだです。
> 
> saka kingさんが仰っているところの、
> skip-character-set-client-handshakeを指定することで
> クライアント側の文字コード、すなわち
> 
> ・character_set_client
> ・character_set_connection
> ・character_set_result
> 
> といったものが、character_set_serverの値によって
> 自動的に設定されるというのは合っていると思います。
> 
> しかしこの機能には盲点がありまして、
> 明示的に"SET NAMES xxx"を発行すると上記変数を
> 上書きできるというのがあります。
> 
> 従って、character_set_server=utf8となっていて、
> skip-character-set-client-handshakeが指定されていても> 
> SET NAMES latin1;
> 
> というのが発行されると、character_set_result=latin1と
なるため、
> MySQL
> 4.1から実装された文字コード自動変換機能がここで使用さ
れる
> ようになり、「utf8→latin1」への変換過程で文字化けが発
生する、
> ということです。
> 
> で、この"SET NAMES
> latin1"というのが、Federatedのローカルmysqldと
> リモートmysqldの接続が切れた場合(かつローカルmysqldが
それに気づいて
> いない場合)に、発行されるということが、今回のポイント
ではないかと
> 思います。
> 
>
ここでコンパイル時に--with-charset=utf8としておくと、"SET
> NAMES utf8"
> が発行されるので問題ないのですが、MySQL
> AB配布バイナリを使用すると
> latin1でコンパイルされているために、こういうことが起き
ることになります。



--------------------------------------
Let's start Yahoo! Auction  -  Free Campaign Now!
http://pr.mail.yahoo.co.jp/auction/

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

     13235 2006-08-10 22:41 [tateyan <tateyan@xxx] FEDERATEDストレージ・エンジンでの日本語取り扱い
     13236 2006-08-10 22:57 ┗["Tetsuro IKEDA" <ikd]                                       
     13237 2006-08-10 23:22  ┗["Tetsuro IKEDA" <ikd]                                     
     13238 2006-08-11 01:12   ┗["Tetsuro IKEDA" <ikd]                                   
     13239 2006-08-11 22:39    ┗[Tetsuro IKEDA <te.ik]                                 
     13240 2006-08-11 22:57     ┗[tateyan <tateyan@xxx]                               
   @ 13242 2006-08-14 17:39      ┗[<ska_king2005@xxxxxx]                             
     13243 2006-08-14 18:04       ┗["Tetsuro IKEDA" <ikd]                           
     13244 2006-08-15 10:06        ┗[<ska_king2005@xxxxxx]                         
     13245 2006-08-15 12:25         ┗[Tetsuro IKEDA <te.ik]                       
->   13246 2006-08-15 16:31          ┗[<ska_king2005@xxxxxx]