- - PR -
FoxProへの接続で文字化け
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-02-17 17:52
VB.NET2003 Englishバージョンを日本語Windows2000上で使用しています。
今回、FoxProデータベースにODBC接続をしてデータを読み込もうとしています。 このFoxProのデータには、英数のほかにタイ語が含まれています。 VB.NETのODBCAdapterを使用してFoxProに接続しデータを取得することはできるのですが、タイ語の部分が文字化けしてしまいます。 Windowsの言語環境設定のでタイ語を規定値にすればタイ語部分も表示することができるのですが、これを日本語、もしくは英語の規定値で正しく表示させる方法はないものでしょうか。 よろしくお願いします。 | ||||
|
投稿日時: 2006-02-18 15:06
実行中のスレッドの、言語設定を変えてしまえばいいのでは?
〆 written by Jitta@わんくま同盟 on 2006/02/18 | ||||
|
投稿日時: 2006-02-18 22:06
Jittaさん、ありがとうございます。
スレッドに言語設定とのことで、現在のスレッドにCultureInfoを設定してみましたが、相変わらずタイ語は文字化けしてしまいました。 Windowsフォーム上にリストボックスを設置し、ODBCDataAdapterでFoxProからテーブルを参照し、タイ語を含むフィールドをリストボックスに表示することで確認をしています。
CurrentUICultureのほうもやってみましたがだめでした。 MSDNには「CurrentCulture プロパティは言語設定ではありません。」とあるので別のやり方があるのだと思い探してみましたが、当方未熟なため未だに見つけることができません。 申し訳ありませんが、スレッドへの言語設定方法についてもう少し教えていただけないでしょうか。 よろしくお願いします。 | ||||
|
投稿日時: 2006-02-18 22:23
私が言ったのは、たぶんそれです。
英語版 Excel を日本語 Windows …というか、アジア言語をインストールして地域を日本にした英語版 Windows …でオートメーションすると、おかしくなったんですね。それで、現象を MSDN オンラインで検索すると、実行スレッドの言語設定を英語にしてくれ、というのがヒットしました。 詳細を忘れてしまったので、月曜に会社で確認します。 | ||||
|
投稿日時: 2006-02-19 23:36
Visual FoxProを入手して今回のデータベースを開いたところ、今回のVB.NETとまったく同じ現象となりました。
すなわち、windowsの言語環境をタイ語にセットすれば表示されましたが、その他の環境ではすべて文字化けし、タイ語の入力もできない状態でした。 そこで調べたところ、以下のページにたどり着きました。 <Resources for Visual FoxPro developers and other object-oriented professionals> http://www.stevenblack.com/INTLUsingAsianCharacters.asp どうやらVFP自体がダブルバイトの言語を扱う場合にデフォルト環境をその言語の地域に設定する必要があるようです。
今回のようにデフォルトの環境を英語もしくは日本語にとどめておきたい場合は、VFPはサポートしないからAccess使えとあります。 残念ですが、ユーザに環境を変更してもらうか文字化けを許容してもらうしかないようです。 結局.NETのコーディング云々じゃなく、VFP側の制限でした。 大変お騒がせしました。 Jittaさん、このような結果になりましたが、ご教授ありがとうございました。 |
1