MySQL

MySQLのODBC接続について

1 Mins read

日本語環境(cp932など)でMySQLにODBC接続をする際にはクライアント側キャラクタセット、サーバー側キャラクタセット、クライアントに結果を返す為のキャラクタセットが重要になってくる、フォ~っ!「SET CHARACTER SET cp932」をつけるようにするとたい(笑)

20051215.gif

以下抜粋

各接続には接続キャラクタセットと接続照合順序があり、いずれもヌルにすることはできません。実際には 2 つの接続キャラクタセットが存在するため、両者の区別が必要な場合は “接続/リテラル” および “接続/結果” の呼称を使い分けています。

“接続” とは、サーバへの接続時に作成されるものです。クライアントは接続を介し、SQL ステートメント(クエリなど)をサーバに送信します。サーバでは接続を介し、応答(結果セットなど)をクライアントに返します。これによって、次のような疑問が生じます。(a) クライアントから送信される際にどのキャラクタセットでクエリが送られるのか。(b) サーバではクエリを受信した後にどのキャラクタセットに変換するのか。(c) サーバでは結果セットまたはエラーメッセージをクライアントに返送する前にどのキャラクタセットに変換するのか。これらは細かく調整することができますが、デフォルトを適用することもできます。デフォルトを適用する場合、このセクションをとばしてかまいません。

接続キャラクタセットに影響するステートメントが 2 つ存在します。

SET NAMES character_set_name
SET CHARACTER SET character_set_name

SET NAMES は、クライアントから送信される SQL ステートメントのキャラクタセットを示します。たとえば、SET NAMES cp1251 は 「このクライアントからの入力メッセージは今後、キャラクタセット cp1251 になります」 とサーバに通知します。サーバでは適宜、独自のキャラクタセットへと自由に変換することができます。

SET CHARACTER SET は、クライアントから送信される SQL ステートメントのキャラクタセットと、サーバからクライアントに返される結果セットのキャラクタセットを示します。そのため SET CHARACTER SET は、SET NAMES を含んでいるほか、たとえば SELECT ステートメントを使用する際にどのキャラクタセットでカラムに値が保持されるかを示します。

例:column1 が CHAR(5) CHARACTER SET latin2 として定義されているとします。SET CHARACTER SET が指定されていない場合、SELECT column1 FROM t に対しサーバは、キャラクタセット latin2 を使用して column1 の値をすべて返します。一方、SET CHARACTER SET latin1 が指定されている場合、サーバは送信前に latin2 の値を latin1 に変換します。そのような変換は低速であり、損失につながることもあります。

SET NAMES または SET CHARACTER SET の実行時には、“接続照合順序” も変更していることになります。ただし、接続照合順序は整合性の維持のみを目的として存在しています。通常、その値は重要ではありません。

mysql クライアントでは、起動するたびに SET NAMES を実行する必要はありません。–default-character-set-name オプション設定を mysql のコマンドラインか、オプションファイルに追加することができます。 たとえば、以下のオプション設定ファイルの設定では、mysql を実行するたびに接続キャラクタセットが指定されます。

[mysql]
default-character-set-name=character_set_name

Read more
MySQL

MySQL Administratorの日本語化について

1 Mins read

MySQLのGUIツール「Administrator」を使ってみた。CUIゴリゴリも良いけど、低レベルな私にとってはGUIも捨てがたい機能なのよね。バックアップも一発回答でまことにグゥ~!な一品に仕上がっている!

20051212a_01.gif

後は日本語化に期待なんだけど、まだ有志の皆さんが登場していません。「mysqlx_translations_administrator.xml」ファイルなどをいじればいけそうなんだけど…そもそもスウェーデン製のアプリを日本語にって…スウェーデン人もそんなこと考えないよね(汗)ただでさえSift_JISとcp932とのすみ分けで「なんだ日本語は(怒)」って思っているだろうから(苦笑)

20051212b.gif

ちなみに同じ理由でQuery Browserも日本語化して!他力本願?

Read more
日記

郵政民営解散

1 Mins read

昨日、参議院での法案否決を引金にして衆議院が解散した。

郵政民営化のNewsは賛成人数は?、造反人数は?という情報しか流さず、そもそもなぜ?小泉が郵政民営化が必要だといっているのかの情報はほとんど流れていない。日本国民の中で小泉が民営化が必要だといっているのはどうしてなのかを理解している人は本当に少ないのではなかろうか 。
この時点で、まずマスコミの情報がおかしい?

詳細はここを読んでほしい
350兆が好きに使える?
郵政と自民議員は仲良し?

リンク先を読んでもらえば分かるが要するに反対議員の多くは郵便局となんらかの形で繋がっていると考えられる。
これは道路公団と同じようなもので郵政族の癒着は事件として表面化していないが、道路公団があのような甘い汁を吸いまくって、民営化後次々に事件が明るみにでてきている団体なのだから、郵政も民営化すれば膿がどんどんでてくるでしょう。

小泉は自民党をぶっ壊すと言っているがまさに道路族、郵政族などの税金を好き勝手に使う黒い癒着を壊そうとしているからで、実際に今回、このぶっ壊しが国民にとって良いのか悪いのかを国民審判を委ねたのだから税金を払っている側の国民がおかしなマスコミの視点にとらわれず、なぜ今回総選挙なのかの争点をしっかり考えて投票すべきである。

ちなみにIMFですら郵政民営化は日本にとって良いことだと報告書をまとめている。
IMFも郵政民営化が正しいと認めている

Read more