スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

[VB] ODBCドライバを用いて MySQL の UTF-8 なデータを取得したらマルチバイト文字が文字化けしてるでござる

いまだにわけあって Visual Basic 6 なんかでも開発してたるするのですけども。
自分が慣れてるのもあるし、過去の情報の遺産がかなり大きいので、
なんかあっても調べたらわかるのが有難いのですよね。

今回は VB6 のプログラムから、別マシンで動いている MySQL のデータベースに
ODBCドライバを介して接続する、ということをやっていて、データベースの
文字コードは UTF-8 です。
これが、普通に取得すると文字化けを起こすのですよね。

まあ文字コード違うから当然であろうと変換などかけてみるのですが、
それでもうまくいかない。結論としては以下のようです。

VB6 ADO(ODBC) MySQLを使って、UTF-8を利用する場合
http://www.tenjinmail.net/library/index.jsp?id=1198294141826

VB6 ADO(ODBC) MySQLを使って、UTF-8を利用する場合、何もしないと、文字化けが発生します。
結論から言えば、接続文字列に

STMT=SET CHARACTER SET cp932;

を加えると、一応、解決します。



確かにそうやって接続してみると、変換もかけることなく正常に表示される。
VB内の文字列の文字コードとか、変換するにしてもバイト配列に展開する必要があったり、
あんまり変換処理とかかけたくないのですよね。

こういうのが、けっこう先端の開発環境ではポンと見つかりにくくて。
関連記事
スポンサーサイト

テーマ : ソフトウェア開発
ジャンル : コンピュータ

comment

管理者にだけメッセージを送る

No title

助かりました。2時間くらいハマってました。ありがとうございました。

No title

お役にたてたようで何よりです。コメントありがとうございます。
検索フォーム
リンク
最新記事
最新コメント
カテゴリ
RSSリンクの表示
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。