- - PR -
MS-Access + ODBC での文字コードの指定
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2007-06-01 11:41
MYSQL 5.0.27を使ってデータベースを構築しているのですが、
Access2003からODBCドライバ(3.51.15)を使って、テーブルのリンクをしたのですが、漢字の文字列が化けてしまいます。 MYSQL内のテーブルには、UTF8で保存しています。PHPを使ってのブラウザ上で表示は、正しくいくのですが、ACCESS上では、漢字が化けてしまいます。ACCESSでは、UTF8での表示は、不可能なのでしょうか? my.cnfの中では、以下のような表記をしています。 [client] default-character-set = utf8 [mysqld] default-character-set = utf8 [mysqldump] default-character-set = utf8 [mysql] default-character-set = utf8 |
|
投稿日時: 2007-06-01 11:48
MS-Access + ODBC での文字コードの指定
|
|
投稿日時: 2007-06-01 13:07
教えていただいたURLのように、
Initial Statement に"SET NAMES SJIS"してみて試したのですが、文字化けしたままです。 |
|
投稿日時: 2007-06-04 18:16
何とか解決しました。
1つ目の原因がMYSQLではじめに作成したテーブルがUTF8になっていなかったこと。 テーブル作成時に特に指定していなかったので、(latin1で作成されたいた?) 2つ目が以下のサイトに出ているように、 MYSQLとクライアントのキャラクターセットが違っていたこと。 (てっきりmysqlクライアントと同じだと思っていた。PHP内で、 show variables like 'char%'を行うと思わぬ結果が) mysql_query("set names utf8", $con)を追加して、解決しました。 PHPとMySQLの個人的まとめ - ぱんぴーまっしぐら http://puchiko.lowtech.ne.jp/index.php?itemid=349&catid=27 mysqlクライアントからチェックすると問題なさげだが… mysql> SHOW VARIABLES LIKE 'char%'; | character_set_client | utf8 | | character_set_connection | utf8 | | character_set_database | utf8 | | character_set_results | utf8 | | character_set_server | utf8 | PHPで接続すると実際は… | character_set_client | latin1 | | character_set_connection | latin1 | | character_set_database | utf8 | | character_set_results | latin1 | | character_set_server | utf8 | MYSQLで確認した場合とPHPで確認した場合のコードが違っていたこと。 |
1