ODBCドライバ経由でのMS Accessからの日本語文字化けの問題

このQ&Aのポイント
  • UTF8のテーブルをODBCドライバ経由のMS Accessから開くと日本語が文字化けする
  • 文字コードを全てUTF8に統一したよる簡単な会員管理DBの作り方を勉強しています。
  • ODBCドライバ(mysql-connector-odbc-3.51.27-win32.msi)をインストールし、MS Access 2003で開いたところ、テーブルへのリンクはうまくいくのですが、日本語部分が文字化けしてしまいます。
回答を見る
  • ベストアンサー

UTF8のテーブルをODBCドライバ経由のMS Accessから開くと日本語が文字化けする

IIS5.1 MySQL 5.0.24a PHP 5.2.2 phpMyAdmin 3.0.0 文字コードを全てUTF8に統一したよる簡単な会員管理DBの作り方を勉強しています。 このページを参考に、http://www.tryhp.net/ODBCMySQL.htm ODBCドライバ(mysql-connector-odbc-3.51.27-win32.msi)をインストールし、 MS Access 2003で開いたところ、テーブルへのリンクはうまくいくのですが 日本語部分が文字化けしてしまいます。 テーブルをExcelに落としてリンクさせれば化けないのですけど、何か設定ミスを してますでしょうか。 コントロールパネル→管理ツール→データソース(ODBC)→システムDSNタブ →構成ボタン→Connect Optionsタブ→Chatacter Setは、UTF8にしてあります。

  • MySQL
  • 回答数1
  • ありがとう数8

質問者が選んだベストアンサー

  • ベストアンサー
  • nora1962
  • ベストアンサー率60% (431/717)
回答No.1

Initial Statement に「set names cp932」をセットするとどうなりますか。

litton101
質問者

お礼

おかげさまで解決しました!! Initial Statement:set names cp932 Chatacter Set:cp932 大変助かりました。ありがとうございました。

関連するQ&A

  • AccessからMysSqlにODBC経由でリンクテーブル

    Access2000からMySqlにODBC経由でリンクテーブルをつな げたいのですが。 まず、システムDSNを登録する際に[CONNECTER/ODBC] の画面が表示されるのですが、ここでの設定が全く 解りません。 どうかご教授して頂けませんでしょうか? また、良いサイト、書籍など有ったら教えて頂きたいのですが。 どうぞ宜しくお願い致します。 環 境    :WINXP,ACCESS2000   MySQL: Ver5.0.27 ODBCドライバ: MySql ODBC 3.51 Driver

    • ベストアンサー
    • MySQL
  • Access2000からネットワーク経由でMySqlにODBCでリンクテーブル

    Access2000からMySqlにODBC経由でリンクテーブルをつな げたいのですが。 以前この件で質問させていただきまして、その時はローカル 内のMYSQLにリンクテーブルを繋げることは出来たのですが ネットワーク経由で、リンクテーブルを設定する際につまずいて おります。 システムDSNを登録する際の[CONNECTER/ODBC]の設定で、SERVER の項目が問題だと思っているのですが、ここにMYSQLをインストール しているPCのコンピュータ名を入力したのですが、駄目でした。 ネットワーク経由でMYSQLを使用する際の[CONNECTER/ODBC]の設定 方法をどうかご教授して頂けませんでしょうか? 以上 宜しくお願い致します。 環 境    :WINXP,ACCESS2000   MySQL: Ver5.0.27 ODBCドライバ: MySql ODBC 3.51 Driver

  • UTF8のPHPコードから日本語をINSERTするとphpMyAdmin上で文字化けしてしまう

    ・WindowsXP(SP2)IIS5.1 ・PHP 5.2.5 Win32 ・MySQL 5.1.22 RC Win32 ・phpMyAdmin 2.11.4 多言語(日本語と中国語)を扱える簡単なシステムを試作しているのですが、 test1.php(UFT8-BOM無し)からINSERTしたレコードをphpMyAdminから閲覧 すると日本語が「財団法人æ」などと文字化けしまくっています。 test2.phpからSELECTすると、まったく文字化けなく呼び出せます。 また、phpMyAdminから直接INSERTしたレコードば文字化けしません。 当初、MySQL4.1.22-win32や、phpMyAdmin 2.8.2.4だったので、 冒頭の最新バージョンにしたりもしてみましたがだめでした。 過去ログや、Webで昨日さんざん調べてみて、確認したのは以下の設定です。 (1) C:\Program Files\MySQL\MySQL Server 5.1\my.ini: [mysqld] character-set-server = utf8 collation-server = utf8_general_ci init-connect = SET NAMES utf8 [mysqldump] default-character-set = utf8 [mysql] default-character-set = utf8 (2) C:\Inetpub\wwwroot\phpMyAdmin\libraries\config.default.php $cfg['DefaultLang'] = 'utf-8'; $cfg['DefaultConnectionCollation'] = 'utf8_general_ci'; $cfg['DefaultCharset'] = 'utf-8'; (3) MySQL Server Instance Config Wizard UTF8を選択しました(MySQL の文字セット: UTF-8 Unicode (utf8)) MySQL 接続照合順序 utf8_general_ci

    • ベストアンサー
    • PHP
  • MyODBC-3.51のドライバでの文字化け

    MySQL5&php5&Apache2.2(OS:XP) で、MyODBC-3.51のドライバを使い、ACCCESS2003からテーブルのリンクを貼っています。 phpMyAdminでは、綺麗に日本語で表示されるのですが、 テーブルのリンクを貼ったACCCESS2003からは「韦겜臣肨ꫨ」のような 幽霊文字で表示されます。 MyODBCのConection Optionで「Charactor Set」で sjisでもutf8でも同じです。 どなたかお分かりの方、教えてください。

    • ベストアンサー
    • MySQL
  • MySQL4.0 UTF-8 での文字化け

    こんにちは MySQL4.0 & PHP4.3 でHTMLは文字コードUTF-8で記述しています。 MySQL4.0の文字コード設定はレンタルサーバーのため不明ですが、 phpMyAdminで、utf-8にてデータを入力しました。 select文でMySQLのデータを拾ってくると文字化けはおきないのですが PHP経由でPOSTされた値を使ってinsertやupdateをかけると文字化けしてしまいます。phpMyAdmin上でも文字化けしていますが、phpMyAdminをEUC-JPにすると、入力した文字が文字化けせずに表示されます。 (が、すでに入っているデータは文字化けします、、、、) 入力画面は metaでUTF-8宣言をしており、ブラウザ(IE)上でエンコードを確認するとUnicode(UTF-8)になっています。4.1みたいにset names を指定するとうまくいくかな?と思ったのですが、やっぱり4.0なので結果は変わらず、でした。PHPのスクリプトそのものは、UTF-8で記述しているのですが、、、、 どういった項目をみなおせばいいのでしょうか?

    • ベストアンサー
    • MySQL
  • データベースに接続できない

    『PHP5逆引き大全500の極意』にあるサンプルスクリプトで PHPとMYSQLと学んでいます。 XAMPPもインストールし、スタンドアロンでMysqlを操作しようと しています。 しかし、どのサンプルスクリプトをいじっても接続できません。 require("config.php"); header("Content-Type: text/plain; charset=EUC-JP"); $db = odbc_connect(ODBC_CONNECT_DSN, ODBC_CONNECT_USER, ODBC_CONNECT_PASS) or die("データソースに接続できません!\n"); でエラーがでています。 ちなみにconfig.phpの内容 // DSN define("ODBC_CONNECT_DSN", "DSN=sample_db;"); // ユーザー名 define("ODBC_CONNECT_USER", "username"); // パスワード define("ODBC_CONNECT_PASS", "password"); // テーブル名 define("ODBC_TABLE_NAME", "php500"); となっています。SQL文を実行し、テーブルを作りましたが、 上手く言っているかどうか・・・。 文字コードをちゃんと設定していないせいか、????????のような データがカラムに入っています。 サンプルスクリプト上、データベースが自動作成されるスクリプトも あるのですが・・・。 1.useename、userpassの設定 2.phpMyAdminでデータベースを作成する方法 3.データベース作成時の文字コードの設定。utf?sjis? についてヒント頂けたら幸いです。

    • ベストアンサー
    • MySQL
  • phpmyadminで日本語が文字化け

    お世話になります。 現在PHP&MySQLを勉強しています。 書籍に掲載のPHPプログラムを試しているのですが、日記プログラムで、書き込み→読み出しは日本語で問題なく動作していますが、phpMyAdminでデータを表示してみると日本語の部分だけ文字化けしています。 プログラムの動作には問題ないのですが、別のプログラムを試すと、データも文字化けしないことが分かりました。 できれば、phpMyAdminでも文字化けしない方が好ましいのですが、解決方法はないのでしょうか。 文字コードはutf-8で統一したいと思っています。 どなたかお解りになる方、宜しくお願い致します。

    • 締切済み
    • PHP
  • MySQLで日本語を出力すると文字化け(?)します。

    初めまして、MySQLの日本語の取り扱いについて悩んでいます。 この手の質問の過去ログをいろいろ漁ってみて、試してみたのですが、 やり方が悪いのか解決には至りませんでしたので質問させていただきます。 MySQLのバージョンは5.0で、phpMyAdminは2.9です。また、PHPのバージョンは5.1です。 OSはWindwos XPです。 status等で文字コードを確認したところ、以下のようでした。 Server characterset : sjis Db characterset : sjis Client characterset : sjis Conn.characterset : sjis また、phpMyAdminの「MySQLの文字セット」にはUTF-8 Unicode (utf8) とあります(この時点で十分謎です;;)。 このような環境で、以下のようなテーブルを作成し、ブラウザに「日本語。」と出力してみたところ、????と出ました。 どなたかのご教授を得られれば幸いです。 よろしくお願いします。

  • C# を使って、ODBC経由でMySQLへアクセスしようと思い、あるサ

    C# を使って、ODBC経由でMySQLへアクセスしようと思い、あるサンプルを用いてアクセス をしました。 その結果としては、正しくアクセスでき、サンプル通りに動きましたが、どうもそれぞれの 記述の意味がつかめません。。。 下の記述の中の(1)~(4)のところの記述の意味を教えて頂ければと思います。 (1)に関しては OdbcConnectiion というのがどういう使い方をしているのかわからず。。。 初心者で申し訳ありません。教えて下さい。 //Connection string for Connector/ODBC 3.51 string MyConString = "DRIVER={MySQL ODBC 3.51 Driver};" + "SERVER=999.999.999.999;" + "DATABASE=TEST;" + "UID=TEST;" + "PASSWORD=******;" + "OPTION=3"; //Connect to MySQL using Connector/ODBC (1) OdbcConnection MyConnection = new OdbcConnection(MyConString); MyConnection.Open(); //Create a sample table OdbcCommand MyCommand = new OdbcCommand("DROP TABLE IF EXISTS my_odbc_net", MyConnection); (2) MyCommand.ExecuteNonQuery(); MyCommand.CommandText = "CREATE TABLE my_odbc_net(id int, name varchar(20), idb bigint)"; MyCommand.ExecuteNonQuery(); //Insert MyCommand.CommandText = "INSERT INTO my_odbc_net VALUES(10,'venu', 300)"; Console.WriteLine("INSERT, Total rows affected:" + MyCommand.ExecuteNonQuery()); ; //Fetch MyCommand.CommandText = "SELECT * FROM my_odbc_net"; (3) OdbcDataReader MyDataReader; (4) MyDataReader = MyCommand.ExecuteReader(); while (MyDataReader.Read()) { //Supported only by Connector/ODBC 3.51 Console.WriteLine("Data:" + MyDataReader.GetInt32(0) + " " + MyDataReader.GetString(1) + " " + MyDataReader.GetInt64(2)); }

  • UTF-8にしても文字化けが直らない

    XAMPPでPHPとMySQLを使っています。 しかし、そのまま使うと文字化けが起きてしまいます。調べると「UTF-8」にすることで文字化けが起こらないとのことなので変更をし、以下のように全てutf-8に書き換えることができました。 mysql> show variables like 'char%' -> ; +--------------------------+----------------------------------------+ | Variable_name | Value | +--------------------------+----------------------------------------+ | character_set_client | utf8 | | character_set_connection | utf8 | | character_set_database | utf8 | | character_set_filesystem | binary | | character_set_results | utf8 | | character_set_server | utf8 | | character_set_system | utf8 | | character_sets_dir | D:\program\xampp\mysql\share\charsets\ | +--------------------------+----------------------------------------+ しかし、それでも文字化けは直りませんでした。以下のコマンドで原因を確かめてみました。 mysql> use testdb; Database changed mysql> status -------------- Server characterset: utf8 Db characterset: latin1 Client characterset: utf8 Conn. characterset: utf8 Db characterset: latin1が原因だと思い、以下のコマンドを実行しました。 alter database testDB character set utf8; そしてもう一度テーブルを作りなおすと今度は文字化けどころか空白になってしまいました。 なにが原因で文字化け等が起こっているのか分かりません。助けてください。 OSは Windows Vista です。 バージョンは ApacheFriends XAMPP version 1.7.7 + Apache 2.2.21 + MySQL 5.5.16 (Community Server) + PHP 5.3.8 (VC9 X86 32bit thread safe) + PEAR です。 回答よろしくお願いいたします。

    • ベストアンサー
    • MySQL