在Windows命令行的Unicode输出?(Unicode output on Windows c

2019-06-24 01:00发布

我写了一个小的Java应用程序,它输出包括Unicode字符。 当我使用Eclipse来运行它,我看到的所有预期的输出。

谁应该使用该应用程序的人将运行它作为一个jar文件。 我认为他们可以使用标准的cmd窗口,但在该窗口中的Unicode显示为乱码。

有没有一种方法,使“cmd窗口”识别的Unicode字符并正确显示出来? 或者,是否有任何工具,轻松运行jar文件,并得到正确的输出?

顺便说一句 - 输出重定向到一个文件工作好,但节目是互动的,所以这不会是一个很好的解决方案。

编辑:谢谢大家的建议。 这似乎意味着cmd字体没有我需要的特定字符,这就是为什么改变代码页并没有解决我的问题。

我发现了一个办法 ,以增加更多的等宽字体到控制台,但之后,我将它们添加,我想要做的关于字体(甚至在选择不同尺寸的原始字体之一)的任何变化-被忽略。

我想,我会简单地用另一种工具,它支持更容易chhosing一个不同的充字体试试。

Answer 1:

参考: Java的统一在Windows命令行

尝试chcp 1252chcp 65001命令行。 随着龙力控制台或其他字体支持。



Answer 2:

问题是与该窗口控制台显示输出的字体。 不幸的是你,这是一个用户设置。

我建议你认为你的用户设置他们的Windows控制台字体为Lucida Console。 该字体应该能够处理宽/ Unicode字符。



Answer 3:

尝试CMD / C / U的java your.jar



Answer 4:

对于任何答案,首先要检查它。 这是一个简单的控制台程序,它验证更改字体实际上不起作用。

using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main( string[] args )
        {
            Console.OutputEncoding = System.Text.Encoding.UTF8;
            Console.WriteLine( "日本語です" );
            Console.Write( "Finished. Press a key. " );
            Console.ReadLine();
            return;
        }
    }
}

我会检查如果答案是具体的“不能做”。 其他途径查询:使用不同的外壳。 即PowerShell的? 我会看看是否能工程。

但是,你可以这样做:

ConsoleApplication1.exe > output.txt
notepad.exe output.txt

免责声明 :我的例子是C#,但控制台应用程序应该仍然工作本身。

并查看结果类似,在此期间。



Answer 5:

在cmd.exe的UTF-16

    Open/run cmd.exe
    Click on the icon at the top-left corner
    Select properties
    Then "Font" bar
    Select "Lucida Console" and OK.
    Write Chcp 10000 at the prompt
    Finally dir /b

另外,从是否有一个Windows命令外壳,将显示Unicode字符?

CHCP 65001
DIR > UTF8.TXT
TYPE UTF8.TXT


Answer 6:

C++/C刚刚使用此: system("chcp 65001");

不要忘了控制台的字体更改为Lucida Console



文章来源: Unicode output on Windows command line?
标签: unicode cmd