具有非拉丁字母时从 ANSI 编码

Encoding from ANSI when having non-latin letters

我有一个非常古老的程序(不是服务器或互联网上的东西),我认为它使用 ANSI (Windows-1252) 编码。 问题是这个程序的一些输入是用阿拉伯语写的。

但是,当我尝试读取结果时,阿拉伯语单词写得非常连贯。例如输入:“نور”被转换为“äæÑ”。

程序输出应包含英语单词和阿拉伯语单词的组合。 E.x。它输出“Name äæÑ”,而正确的输出应该类似于“Name نور”。 一般来说,英文单词在 UTF-8 和 ANSI 下都是正确且可读的。但是阿拉伯语单词在 UTF-8 中读作“����”,在 ANSI 中读作“äæÑ”。

我知道这是因为 ANSI 不支持非拉丁字母。 但我现在该怎么办?如何再次将它们转换为阿拉伯语?

注意:我知道这个程序应该产生的准确输入和准确输出。 注2:我没有这个程序的源代码。我只想将此程序的输出文件转换为具有正确的单词或编码。

我现在通过在终端中输入解决了这个问题:

iconv -f WINDOWS-1256 -t utf8 < my_File.ged > result.ged

我尝试在 java 中编写代码来做类似的事情,但它并没有真正提供我想要的结果。

我也尝试过之前的终端命令,但使用 WINDOWS-1252 而不是 WINDOWS-1256 但它没有用。所以,我想在它工作之前尝试不同的编码是很好的