mysql:13919
From: goungoun <goungoun <gounx2@xxxxxxxxxx>>
Date: Thu, 26 Apr 2007 00:34:44 +0900
Subject: [mysql 13919] Re: Access2002+MyODBCでエラー
こんにちは。 On Wed, 25 Apr 2007 11:32:19 +0900 (JST) t-fujita@xxxxxxxxxx wrote: > > > つまり、Access が生成する SQL のキャラクタセットってどこかで設定可能なのでしょうか? > ODBCやDSNの画面にはみあたりませんでした。 > ですので設定するのはできないのではないかと思います。 グーグル先生に、以下キーワードで聞くと ・myodbc 3.51 cp932 ・"read options from my.cnf" わりと有名な問題のようですね。 環境依存性もあるような感じですが・・・ ずばり、こんなのが出てきました。 http://okumurya.homeip.net/pukiwiki/pukiwiki.php?MySQL%204.1.20%20%2B%20MyODBC%203.51.12%20%2B%20MS%20Jet%204.0.9025%20%2B%20Microsoft%20Access で、私もやってみました。 ・クライアント(ODBC)は、mysql-connector-odbc-3.51.14-win32.msi ・サーバは、 $ sudo mysqld --version mysqld Ver 5.0.32-Debian_7etch1-log for pc-linux-gnu on i486 (Debian etch distribution) まず、ODBCのユーザDSNを「mysql」という名前で作りました。 ODBC設定のオプション類はすべてチェックオフ(デフォルト)です。 で、以下を実行すると。 odbc_test.js ---------------------------------------------------- var conn = new ActiveXObject("ADODB.Connection"); var rs = new ActiveXObject("ADODB.Recordset"); conn.Open("Provider=MSDASQL; Data Source=mysql"); var sql = "SELECT '<十>' AS item1;"; rs.Open(sql, conn); WScript.Echo(rs.Fields("item1").Value); rs.Close(); conn.Close(); ---------------------------------------------------- 文字化けしました。 次に、conn.Open()の後に ---------------------------------------------------- conn.Execute("set names cp932;"); ---------------------------------------------------- を追加して、実行すると 文字化けせずに表示されました。 次に、ODBCの設定から「"read options from my.cnf"」をチェックして c:\winnt\my.cnf ---------------------------------------------------- [client] default-character-set=cp932 ---------------------------------------------------- としてから、最初のスクリプト(set names無し版)を実行しても、 文字化けせずに表示されました。 あと、公式の以下に「様々な構成で推奨する option 値の例のリスト」 というのがあるので、それらはチェックしておいたほうがよさげですね。 MySQL AB :: MySQL 5.1 リファレンスマニュアル :: 9.1.3.5 Connector/ODBC Connection Parameters: http://dev.mysql.com/doc/refman/5.1/ja/myodbc-configuration-connection-parameters.html ps. 私の環境でODBCのInitialStatementに 「set names cp932」とすると、エラーが出て DSN定義が壊れてしまいました。ところが、 少し時間をおいて、何気にもう一度設定すると 何の問題も無く設定できました。 この設定で、最初のスクリプト(set names無し版)を実行しても、 文字化けせずに表示されました。 -- goungoun <gounx2@xxxxxxxxxx> http://goungoun.dip.jp/app/
13906 2007-04-25 11:32 [<t-fujita@xxxxxxxxxx] Re: Access2002+MyODBCでエラー -> 13919 2007-04-26 00:34 ┗[goungoun <gounx2@xxx] 13920 2007-04-26 08:45 ┣["fujita" <t-fujita@x] 13923 2007-04-26 12:18 ┃┣["T.Hirotsu" <hirotsu] 13925 2007-04-26 18:20 ┃┃┗[goungoun <gounx2@xxx] 13924 2007-04-26 17:04 ┃┗[goungoun <gounx2@xxx] 13926 2007-04-27 09:58 ┃ ┣["fujita" <t-fujita@x] 13927 2007-04-27 17:20 ┃ ┗[ezaki <kjc_post@xxxx] 13921 2007-04-26 11:25 ┗[ezaki <kjc_post@xxxx]