VB6 アプリケーションによって生成されたテキストを読み取る Java で書かれたアプリケーションがあります。問題は、この VB6 アプリケーションが、どの文字セットか分からない ç,ã,á などの特殊文字を使用してこの出力を生成することです。
質問は次のとおりです。VB6 で使用されるデフォルトの文字セットはありますか? それはどれですか?
VB6 アプリケーションによって生成されたテキストを読み取る Java で書かれたアプリケーションがあります。問題は、この VB6 アプリケーションが、どの文字セットか分からない ç,ã,á などの特殊文字を使用してこの出力を生成することです。
質問は次のとおりです。VB6 で使用されるデフォルトの文字セットはありますか? それはどれですか?
どのようにデータを一方から他方に転送しますか? ファイル経由?はいの場合、マシンのデフォルトエンコーディングを使用します。それを取得するためのJavaコードはわかりませんが、C#ではEncoding.Default ...
良い、
これが発見したことです: VB6 アプリケーションがコマンド ラインで実行されたためかどうかはわかりませんが、実際には MS-DOS 環境のデフォルトの文字セット (この場合は windows-1252) を使用していました。
したがって、Java コードを次のように変更するだけで済みました。
InputStreamReader inputReader = new InputStreamReader(input, "windows-1252");
そしてそれはうまくいきました!
おそらく、MS-DOS 環境のせいではなく、Microsoft Access データベースからこのデータを取得しているためです。個人的には、これが私たちの問題の最も可能性の高い解決策だと思います。