yunoの日記: GetFieldValue 4
日記 by
yuno
DBに接続して値をもらってきたら、なぜか文字が化ける…。
ODBCのメッセージ自体は正常なんだけどなぁ。
文字種ってどっかで設定すんのか?
別のツール自体で読み出すと正常っていうトコがちょっとムカツクわぁ。
しらべなきゃなぁ。
DBに接続して値をもらってきたら、なぜか文字が化ける…。
ODBCのメッセージ自体は正常なんだけどなぁ。
文字種ってどっかで設定すんのか?
別のツール自体で読み出すと正常っていうトコがちょっとムカツクわぁ。
しらべなきゃなぁ。
人生unstable -- あるハッカー
ぷらっとふぉーむにもよりますが (スコア:1)
C++だとあんまり関係ないかもしんないけど昔VB(というかVBA)で半角カナ関係が化けまくってタイヘンだった記憶があります。
参考になればこれ幸い。
♪♪♪♪♪♪♪♪♪♪♪♪♪♪♪♪♪ yasu0907
Re:ぷらっとふぉーむにもよりますが (スコア:1)
きっとUNICODEなんだろうなーって想像はできるんですけど、どっちがUNICODEなのかわかんないんです。
ドキュメントを読んでいるとDB,ODBC,MFCのそれぞれがUNICODE対応っていうことみたいなのですけど肝心の確認方法がわからないっていう間抜け状態です(笑)。
「よきにはからう」ってゆー選択肢が欲しいなー(笑)
-- yuno
わからないときは (スコア:1)
えーと、定かではないのですがRecordsetのプロパティにそのテの情報がないかな? 細かいコーディングやったことないからカンで書いてますが。
ちなみにVBだと「よきにはからえ」でやると、望んでもいないときまで「よきにはからって」くれてドツボにはまります(苦笑)
♪♪♪♪♪♪♪♪♪♪♪♪♪♪♪♪♪ yasu0907
Re:わからないときは (スコア:1)
CDatabaseとCRecordsetをMainFrameの埋め込みオブジェクトでごりごり書いてたんですけど、試しに ClassWizardでMFC ODBC コンシューマのクラスを作らせてみたら、コード中に
//フィールド/パラメータ データ
//次の文字列型は (記載されていれば) データベース フィールドの
//実際のデータ型を反映しています。CStringA は ANSI データ型を、また CStringW は Unicode データ型を
//反映しています。これは、ODBC ドライバが不必要な変換を行わないようにするためです。これらのメンバを CString 型に変えて、
//ODBC ドライバが必要な変換をすべて行うようにすることも可能です。
//(注 : Unicode とこれらの変換の両方をサポートするためには、
//ODBC ドライバのバージョン 3.5 かそれ以降のものを使う必要があります)
CStringW m_hogehoge;
:
こんなコメントがついたコードが作成されました。
やっぱODBCが変換してるっぽいですね。
せっかくだから、このWizardで作らせたこのクラスを使うことにしました。DoFieldExchange()の恩恵も受けれそうですし。
もちろんこれから書きなおすんです(笑)
-- yuno