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