Netbeans控制台不显示Bangla unicode字符

Dew*_*rld 19 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 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) ;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我得到了一些阻止......好吧我无法写出来.这是图像在此输入图像描述 任何人都可以帮忙解决这个问题吗?谢谢.

Vin*_*lds 18

你似乎在使用Netbeans.Netbeans中的控制台默认使用Monospace字体,无法显示Bangla字符.

您可以从上下文菜单切换到不同的字体:

为Netbeans控制台选择字体

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

在对话框中选择字体

这将显示您想要的输出:

显示孟加拉语字符

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

Netbeans项目编码

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


X-C*_*der 5

字体下载链接:code.google.com

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