Windows命令行上的Unicode输出?

Windows命令行上的Unicode输出?,unicode,cmd,Unicode,Cmd,我编写了一个小型Java应用程序,其输出包括Unicode字符。当我使用Eclipse运行它时,我看到了预期的所有输出 应该使用该应用程序的人将把它作为jar文件运行。我原以为他们可以使用标准的cmd窗口,但在这个窗口中,Unicode显示为胡言乱语 有没有办法让“cmd window”识别Unicode字符并正确显示它们? 或者,是否有任何工具可以轻松运行jar文件并获得正确的输出 顺便说一句,将输出重定向到文件工作正常,但程序是交互式的,因此这不是一个好的解决方案 编辑:谢谢大家的建议。 c

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

应该使用该应用程序的人将把它作为jar文件运行。我原以为他们可以使用标准的cmd窗口,但在这个窗口中,Unicode显示为胡言乱语

有没有办法让“cmd window”识别Unicode字符并正确显示它们? 或者,是否有任何工具可以轻松运行jar文件并获得正确的输出

顺便说一句,将输出重定向到文件工作正常,但程序是交互式的,因此这不是一个好的解决方案

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

我找到了一个方法,可以在控制台中添加更多的等距字体,但在添加这些字体后,我想对字体做的任何更改(甚至选择一种不同大小的原始字体)都会被忽略


我想我将尝试使用另一个工具,它支持更轻松地使用不同的字体。

尝试CMD/c/U java your.jar

问题在于windows控制台显示输出时使用的字体。不幸的是,这是一个用户设置


我建议您建议您的用户将其windows console字体设置为Lucida console。该字体应该能够处理宽/unicode字符

如需任何答案,请先查看。这是一个简单的控制台程序,用于验证更改字体实际上不起作用

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;
        }
    }
}
我将检查答案是否具体为“无法完成”。其他检查方法:使用不同的外壳。i、 e.动力地狱?我看看这是否有效

但是,您可以:

ConsoleApplication1.exe > output.txt
notepad.exe output.txt
免责声明:我的示例是C#,但控制台应用程序仍应如此工作

同时,以这种方式查看结果。

参考:

从命令行尝试
chcp 1252
chcp 65001
。使用Lucida控制台或其他字体支持。

也来自


C++/C
中,只需使用这个:
系统(“chcp 65001”)


不要忘记将控制台的字体更改为
Lucida console

,即使在Windows 7中,控制台窗口默认为光栅字体:-(。非常不幸。我将字体更改为Lucida。这并没有解决问题:(感谢Dikla的反馈。我单击了-1,因为这实际上对.offtopic没有帮助,但我想我更喜欢光栅的外观:)这并没有解决问题……据我所知,/U只影响内部命令的输出。另外,将是cmd/U/c,否则“/U不会被识别为内部或外部命令”。我想你还是得为你的应用程序写一个“控制台…”“向控制台添加更多等距字体的方法”-链接失效是添加更多字体的一种方法。不过,我不确定它是否还有OP提到的问题。“Lucida控制台”是否存在支持特殊字符?我尝试了几个字符,它们在cmd窗口中显示为正方形。
    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
CHCP 65001
DIR > UTF8.TXT
TYPE UTF8.TXT