如何在 J-Creator 中使用 UTF-8 / Unicode?

问题描述

我正在尝试为一个编程课程做一个项目,如果可能的话,我需要弄清楚如何让 unicode 在 J-Creator 中工作。到目前为止,我还没有找到任何东西。当我尝试打印非拉丁字母中的单词时,例如“цитата”,它会打印“??????”。如何在 J-Creator 中获取 UTF-8?

解决方法

我不使用 JCreator,因此无法验证这个答案,但它可能仍然有帮助,因为在将 UTF-8 文本从 Java 应用程序呈现到终端窗口时需要考虑三个一般点:>

  1. 假设您使用 PrintStream 方法 println() 在 JCreator 的终端窗口中显示您的文本,您可能需要实例化该 PrintStream 以明确使用字符编码 UTF -8:

     try{
         PrintStream outStream = new PrintStream(System.out,true,"UTF-8");
         outStream.println("цитата");
     } catch(UnsupportedEncodingException e){
         // Error handling
     } 
    

如果您不这样做,而只是调用 System.out.println("цитата");,那么您将在运行时使用默认编码。这是JVM在启动时决定的,不太可能是UTF-8。

  1. 您可能需要将终端窗口中的代码页设置为 UTF-8。您没有提及您的操作系统,但在 Windows 上的终端(例如 PowerShell、命令提示符等)中,您会调用 chcp 65001。这可能适用于您的环境,也可能不适用,我不知道 JCreator 是否允许您在运行应用程序时设置代码页。

  2. 您显然必须使用支持在终端窗口中呈现的文本的字体,在您的情况下是俄语。我不知道 JCreator 如何确定要使用的字体以及它是否允许您显式设置该字体,但可以为 Windows 上的命令提示符窗口设置。

尽管您尽了最大努力,但 JCreator 终端可能仍然无法支持您想要执行的操作。在这种情况下,您的解决方法是使用操作系统支持的终端窗口并在那里运行您的应用程序,假设您能够设置代码页和字体。