【问题标题】:Netbeans console does not display Bangla unicode charactersNetbeans 控制台不显示孟加拉语 unicode 字符
【发布时间】:2011-08-28 05:37:13
【问题描述】:

我有一个 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) ;
        }
    }
}

我遇到了一些障碍……好吧,我写不出来。这是图片 有人可以帮忙解决这个问题吗...?谢谢。

【问题讨论】:

  • 您通常可以在那个终端程序中显示孟加拉语文本吗?您使用哪个终端程序?哪个操作系统?这不太可能是 Java 问题。
  • 不确定您是否能够在 IDE 中检查控制台的编码。这是您期望的正确编码吗?
  • @Desworld:vai,matha niya mata mati keno? mojar text dileo parten ;) tobe ai text tao kharap na.
  • @Kowser,问题 ta niye ashole matha kharap hoye gasilo... :)

标签: java


【解决方案1】:

您似乎在使用 Netbeans。 Netbeans 中的控制台默认使用等宽字体,无法显示孟加拉字符。

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

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

这将显示您想要的输出:

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

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

【讨论】:

  • @Hernan Eche" 您必须禁用“换行”,才能使用上下文菜单选择字体。或者使用 options-miscellanous-terminal 并在那里设置字体。这种方法的优点是,此对话框仅显示等宽字体,等宽字体可以使用“换行”功能
  • 在 Netbeans 8.1 上,从上下文菜单中选择“设置”选项。
  • 这对我不起作用。我一直无法让这些字符显示在 Netbeans 的代码中。 ✰☆★???☞☛?❸➂❤♡??????✉?我的项目设置为UTF8。即使“Courier New”对我也不起作用,即使它在 Notepad++ 中使用这些相同的字符也是如此。我仍然无法弄清楚这一点。
  • 我终于在这里正式提出了这个问题:stackoverflow.com/questions/37644558/…
【解决方案2】:

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

这是解决netbeans中字体问题的外观:

【讨论】:

    【解决方案3】:

    不是 NetBeans 问题,而是 Logger 编码问题。为 Log4j 强制使用 Utf8。

    它应该默认为 UTF8,但事实并非如此。将 log4j 强制转换为 UTF8 解决了我的问题。

    症状:生成的日志文件也不是utf8编码。

    对 NetBeans 8 到 12 仍然有效

    【讨论】:

      猜你喜欢
      • 2011-09-24
      • 1970-01-01
      • 1970-01-01
      • 2019-09-23
      • 2016-05-24
      • 1970-01-01
      • 2016-07-31
      • 2015-04-17
      • 1970-01-01
      相关资源
      最近更新 更多