我们有一个用Java编写的应用程序,它读取VB6应用程序生成的一些文本。 问题是:这个VB6应用程序使用一些特殊字符生成此输出,如ç,ã,á,我们不知道在什么字符集中。
所以问题是:VB6使用的是默认字符集吗?这是什么?
答案 0 :(得分:2)
如何将数据从一个传输到另一个?通过档案?如果是,那么它使用机器默认编码我不知道java代码来获取它,但在c#中它的Encoding.Default ...
答案 1 :(得分:1)
那么,
这是我们发现的:我们不知道是不是因为我们的VB6应用程序是在命令行上执行的,但它实际上是使用MS-DOS环境默认字符集,在我们的例子中是windows-1252
因此,我们所要做的就是将Java代码更改为:
InputStreamReader inputReader = new InputStreamReader(input, "windows-1252");
它工作得很好!
也许它甚至不是因为MS-DOS环境,而是因为我们从Microsoft Access数据库获取此数据。就个人而言,我认为这是解决我们问题的最有效办法。