如何在Java中使用BufferedReader读取非英语(泰米尔语)字体,而该文件在MacOS中运行良好,但在Windows中运行不正常?

如何在Java中使用BufferedReader读取非英语(泰米尔语)字体,而该文件在MacOS中运行良好,但在Windows中运行不正常?,java,unicode,ascii,bufferedreader,unicode-string,Java,Unicode,Ascii,Bufferedreader,Unicode String,现在我用下面的代码阅读泰米尔字体 BufferedReader tamil = new BufferedReader(new FileReader( "Copy1.txt")); StringBuffer Tamil_T = new StringBuffer(); StringBuffer each_T = new StringBuffer(); while ((EachLine = tamil.readLi

现在我用下面的代码阅读泰米尔字体

BufferedReader tamil = new BufferedReader(new FileReader(
                    "Copy1.txt"));
            StringBuffer Tamil_T = new StringBuffer();
            StringBuffer each_T = new StringBuffer();
while ((EachLine = tamil.readLine()) != null) {

                int i = 0;
                StringBuffer eachWord = new StringBuffer();

                for (; i < tamilEachLine.length(); i++) {
                    if (i >= 27) { 

                        if (tamilEachLine.charAt(i) != ' '
                                || i == tamilEachLine.length() - 1) { 

                            eachWord.append(tamilEachLine.charAt(i));

                        } else if (tamilEachLine.charAt(i) == ' ') { 
                            each_T.append(eachTamilWord);

                            each_T.append("%20"); 
                            eachWord = new StringBuffer();
                        }
                    }

                }
            }
我得到的只是

我也试过cp1252,utf-16,utf-32。到目前为止,在Windows操作系统中还没有任何功能可用

输入文件中的示例字体如下所示


"என் பெயர் ராமு சோமு"

泰米尔语不是一种字体。它是一种可以写下来的人类语言。现在,由
java.io.Reader
读取的文本文件需要一个字符集,所以你必须知道用于编码
Copy1.txt
的字符集。这个文件是由人类编写的吗?从互联网下载的吗?它对我来说是修改过的还是不可变的?你需要上传原始的file某处(最好压缩以确保任何人都不会转码)然后告诉我该文件应该如何在Windows和Mac计算机上运行输入文件是我的朋友提供的,我将该文件中的几行复制到Mac中的一个新文件中,一切正常。同一文件通过电子邮件发送到Windows系统,在使用前添加并保存了几行。如何找到文件的编码?我知道“你需要把原始文件上传到某个地方(最好是压缩,以确保没有人转码),然后告诉这个文件应该如何在Windows和Mac机器上传输”。你是说你想让我上传这个文件,让这里的观众看一看吗?
BufferedReader tamil = new BufferedReader(new FileReader(
                    "Copy1.txt"), "utf-8");