Java Netbeans控制台不显示孟加拉语unicode字符

Java Netbeans控制台不显示孟加拉语unicode字符,java,Java,我有一个test.txt文件,其中一些孟加拉字符写为 আমার মাথা, তোমার মাথা 现在,当我从某个包装上运行这个时 import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; import

我有一个test.txt文件,其中一些孟加拉字符写为

আমার মাথা, তোমার মাথা

现在,当我从某个包装上运行这个时

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;

public class Test {
    public static void main( String ajaira[] ) throws FileNotFoundException, IOException
    {
        File f = new File("test.txt") ;
        InputStream is = new FileInputStream(f) ;
        BufferedReader br = new BufferedReader( new InputStreamReader(is) );
        System.out.println("Abs path: " + f.getAbsolutePath() ) ;
        String s ;
        while( (s = br.readLine()) !=null )
        {
            System.out.println(s) ;
        }
    }
}
我有一些街区。。。嗯,我写不出来。这就是图像
有人能帮我做这件事吗。。。?谢谢。

您似乎正在使用Netbeans。Netbeans中的控制台默认使用单空格字体,无法显示孟加拉语字符

您可以从关联菜单切换到其他字体:

然后选择使用带有孟加拉语字形的字体显示控制台中的所有字符(我选择了Arial Unicode MS,但您可以选择任何其他孟加拉语字体):

这将显示所需的输出:

另外,请注意Netbeans项目编码的重要性:

显然,控制台编码恰好与项目编码相同;试图通过设置
file.encoding
系统属性来更改此设置不会产生任何结果。在这种情况下,所有UTF-8编码的字符串都将显示,不会出现问题。但是,如果您的文件碰巧使用UTF-16BE/LE或任何其他编码方案进行编码,那么控制台将显示乱码/因为无法根据需要更改终端/控制台编码。在这种情况下,首选方法是以与项目编码相同的编码存储文件,以便通过
System.out
显示其内容不会导致显示乱码。

字体下载链接:


下面是解决netbeans字体问题的方法:

您通常能在终端程序中显示孟加拉文吗?您使用哪种终端程序?哪个操作系统?这不太可能是Java问题。不确定您是否能够检查IDE中使用的控制台的编码。这是您期望的正确编码吗?@Desworld:vai,matha niya mata mati keno?mojar文本(dileo parten;)我要发短信给你。@Kowser,问题是ta niye ashole matha kharap hoye gasilo…:)@Hernan Eche“您必须禁用“换行文字”,才能使用上下文菜单选择字体。或者使用选项miscellanous terminal并在此处设置字体。此方法的优点是,此对话框仅显示单间距字体,且单间距字体可以使用“换行文字”“功能在Netbeans 8.1上,从关联菜单中选择“设置”选项。这对我不起作用。我无法在Netbeans的代码中显示这些字符。✰☆★我终于在这里正式提出了这个问题: