当前位置:  开发笔记 > 编程语言 > 正文

是否有Windows命令shell将显示Unicode字符?

如何解决《是否有Windows命令shell将显示Unicode字符?》经验,为你挑选了4个好方法。

假设我安装了具有相应字形的字体,是否有一个用于Windows XP的命令shell将显示Unicode字符?至少应该正确显示Unicode的两件事:

目录列表.我不关心我必须键入什么(dir,ls,get-childitem等),只要名称中带有Unicode字符的文件带有正确的字形,而不是不可打印的字符框.

文本文件内容列表.同样,只要字符被打印,对我来说无关紧要的是"少","更多","猫","狗"等.我认识到由于文件的字符编码,这更复杂,所以如果我必须在命令行上指定那对我没问题.

这是我到目前为止所尝试的:

CMD.EXE

Windows PowerShell; 包括多语言版本.

Cygwin bash

没运气.我甚至尝试为cmd/PowerShell安装自定义字体.PowerShell和cmd.exe似乎是Unicode感知的,因为我可以将不可打印的框复制/粘贴到那里,它将粘贴到具有正确字符的其他应用程序中.Cygwin(?)似乎转换为?字符和复制/粘贴中的字符.

有任何想法吗?



1> McDowell..:

要使用cmd.exe执行此操作,您需要使用控制台属性对话框切换到Unicode TrueType字体.

然后使用以下命令:

 CHCP 65001
 DIR > UTF8.TXT
 TYPE UTF8.TXT

命令:

将控制台切换到UTF-8(65001)

将DIR的输出重定向到UTF8.TXT

将UTF-8转储到控制台

字体仍然需要字体支持才能在控制台上正确显示.

I18N:Windows命令提示符下的Unicode(C++; .Net; Java)



2> Don Jones..:

这是PowerShell v1中的一个主要问题.版本2附带了一个"图形shell",可以解决问题,最终不是PowerShell,而是Windows控制台主机(Cmd.exe也使用).如果需要,您可以获取PowerShell v2的当前CTP.

实际上,PowerShell v2.0已经完成,并在8月初发布了Windows 7和Windows Server 2008 R2.此外,后移版本(Windows Vista/2008)在前几天达到了候选版本里程碑; Windows XP/Windows Server 2003应该很快就会出现.Linky linky.



3> Kim André Sa..:

使用命令"chcp 65001"将代码页设置为UTF-8应该可以帮助您正确地将文件内容打印到shell(使用cmd.exe).这不适用于目录列表(NTFS文件名中的UTF-16编码).



4> iegik..:

试试这个:

powershell.exe -NoExit /c "chcp.com 65001"

谁使用msysgit:

powershell.exe -NoExit /c "chcp.com 65001; sh --login -i"

不要忘记将窗口的字体更改为支持UTF-8的TrueType字体("Lucida Console")

推荐阅读
N个小灰流_701
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有