Netbeans控制台不显示Bangla unicode字符

时间:2011-08-28 05:37:14

标签: 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) ;
        }
    }
}

我得到了一些阻止......我无法写出来。这是图片enter image description here 任何人都可以帮忙解决这个问题吗?谢谢。

2 个答案:

答案 0 :(得分:18)

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

您可以从上下文菜单切换到其他字体:

Choose Font for Netbeans Console

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

Choose Font in Dialog

这将显示您想要的输出:

Display bangla characters

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

Netbeans project encoding

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

答案 1 :(得分:5)

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

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