• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Accessからのソケット通信について)

Accessからのソケット通信について

このQ&Aのポイント
  • Access2010(VBA)+BASP21を利用して別のアプリに対してテキストデータをソケット通信で受け渡す際の文字コードについて教えて下さい。
  • Accessから送信する際は、あらかじめUTF-8で保存されたテキストファイルを変数に読み込み、それをBASP21から送信していますが、送信する時に文字コードが変わっている?のかただしくデータを受け取ってくれません。
  • Accessからデータを送信する際に、確実にUTF-8にてデータを送信したいのですが、どのような方法があるでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
  • nda23
  • ベストアンサー率54% (777/1415)
回答No.2

>テキストファイルを変数に読み込み VBのステートメントで文字型変数に 読み込むとShiftJisに変換されます。 というか、ShiftJisだと見て処理され、 変換できないものは字化けします。 文字型変数を経由した時点でアウト です。 1.バイナリ型のI/Oにする 2.BASP21のBinaryReadを使う 3.ADODB.StreamのReadを使う などでバイト型配列に読み込まないと 正常に動作しません。

SOU48
質問者

お礼

ご回答有り難うございました。 >VBのステートメントで文字型変数に読み込むとShiftJisに変換されます。 これで納得がいきました。 実はアプリに渡したいテキストデータというのはXMLなのですが XMLの文字コード宣言部分はUTF-8になっている為、 変数に入れたデータの文字コードと、中身の宣言の文字コードが矛盾し 受け取るアプリ側でエラーになっていたようです。 XML内の宣言をShiftJISに変えた所、ばっちり動きました。 本当に有り難うございます。

その他の回答 (1)

  • MARU4812
  • ベストアンサー率43% (196/452)
回答No.1

VBが利用するUnicode形式は、UTF-8ではなく、UTF-16だったと思います。 バイナリで処理する必要があるのでは?

関連するQ&A