C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[3]: ODBC経由でMySQLのデータを見ると記号が文字化けします


(過去ログ 38 を表示中)

[トピック内 5 記事 (1 - 5 表示)]  << 0 >>

■19703 / inTopicNo.1)  ODBC経由でMySQLのデータを見ると記号が文字化けします
  
□投稿者/ モモンガ (1回)-(2008/05/28(Wed) 09:10:02)

分類:[C#] 

C#からODBC経由でMySQLに接続しDatGridViewにデータを表示させる処理を作っています

あちこちのサイトを参考にしながら表示させるまではできたのですが

「〜」の記号だけが文字化け「??」します

接続のconnectionstringはこんな感じで記述しています

_conn.ConnectionString = "DRIVER={MySQL ODBC 3.51 Driver};"
+ "SERVER=localhost;"
+ "PORT=3306;"
+ "DATABASE=mydb;"
+ "UID=myuser;"
+ "PASSWORD=mypass;"
+ "STMT=SET CHARACTER SET sjis;"
+ "OPTION=3";

「SET CHARACTER SET sjis」の部分がポイントだとは思うのですが

euc等に変えると日本語まで文字化けしてしまいます

この問題は、ソース側ではなく、データベース側の設定の問題でしょうか?

それとも何か接続文字列が不足しているのでしょうか?

よろしくお願いいたします。

引用返信 編集キー/
■19707 / inTopicNo.2)  Re[1]: ODBC経由でMySQLのデータを見ると記号が文字化けします
□投稿者/ Algol (22回)-(2008/05/28(Wed) 09:54:49)
2008/05/28(Wed) 09:56:04 編集(投稿者)

No19703 (モモンガ さん) に返信

環境を書いてくれると対処しやすいです。

トラブル事例を見る限り、もしかしたら sjis を cp932 にするといいかも。

トラブル事例
http://www.s-style.co.jp/about_mysql/tech_info/trouble/

引用返信 編集キー/
■19710 / inTopicNo.3)  Re[2]: ODBC経由でMySQLのデータを見ると記号が文字化けします
□投稿者/ 鶏唐揚 (168回)-(2008/05/28(Wed) 10:18:44)
2008/05/28(Wed) 10:27:40 編集(投稿者)
No19707 (Algol さん) に返信
> 2008/05/28(Wed) 09:56:04 編集(投稿者)
>
> ■No19703 (モモンガ さん) に返信
>
> 環境を書いてくれると対処しやすいです。
>
> トラブル事例を見る限り、もしかしたら sjis を cp932 にするといいかも。
>
> トラブル事例
> http://www.s-style.co.jp/about_mysql/tech_info/trouble/
>
「WaveDash問題」ですね。MySQLに限らず、多くのDBで発生しうる現象なので割と有名です。
調べればすぐに情報が出てきそうなものですが。

「データベース 〜 波ダッシュ 文字化け」でググったところ、やはり大量に出てきました。
文字コード上の問題なのでDBに関係しない部分(UTF8なブログ等)でも問題発生してるようですね。

なので文字コードあたりを調べてみる/対策立ててみるのはどうでしょうか。
ちなみに私はVB2005+Oracleで同様の問題にぶち当たりましたが、DBから取得後に
逆波ダッシュ(表示上は?になるけど、文字コードは正常に保持していたため)を通常の波ダッシュにReplaceしてやってました。

Google:
http://www.google.co.jp/search?hl=ja&q=%E3%83%87%E3%83%BC%E3%82%BF%E3%83%99%E3%83%BC%E3%82%B9+%EF%BD%9E+%E6%B3%A2%E3%83%80%E3%83%83%E3%82%B7%E3%83%A5+%E6%96%87%E5%AD%97%E5%8C%96%E3%81%91&btnG=%E6%A4%9C%E7%B4%A2&lr=lang_ja
引用返信 編集キー/
■19712 / inTopicNo.4)  Re[3]: ODBC経由でMySQLのデータを見ると記号が文字化けします
□投稿者/ Algol (23回)-(2008/05/28(Wed) 11:32:24)
No19710 (鶏唐揚 さん) に返信
> 「WaveDash問題」ですね。MySQLに限らず、多くのDBで発生しうる現象なので割と有名です。

おぉ、初耳でした。
そもそも、今まで「〜 = チルダ」としてました(苦笑
チルダが誤用だったとは… orz...
引用返信 編集キー/
■19713 / inTopicNo.5)  Re[3]: ODBC経由でMySQLのデータを見ると記号が文字化けします
□投稿者/ モモンガ (3回)-(2008/05/28(Wed) 11:34:44)
回答ありがとうございます
検索は「C# MySQL 文字化け」としかやってなかったです
今後はもっといろんな検索を試してみます

> 「WaveDash問題」ですね。MySQLに限らず、多くのDBで発生しうる現象なので割と有名です。
> 調べればすぐに情報が出てきそうなものですが。

そういう問題があるとは全く知らなかったです
教えていただいたURLを参考に頑張ってみます

>Algolさん
ありがとうございます
CP932に変更したら「〜」は表示されたのですが、今度は旧字が文字化けするようになりました
旧字さえなければこれでOKなんですが、う〜ん。

サーバの開発環境は
RedHatES4
Apache2.2.0
PHP5.1.2
MySQL4.1.16
です。


引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -