我有时需要从我获得的 CD 中列出文件。这些文件名经常包含其他书写系统中的字符,例如西里尔俄语 (Добродошли.doc) 或简体/繁体中文 (孟子译注.pdf)。我的计算机(在 Windows 7 下运行,波兰语)显示文件名正确,打开文件,将文件保存在其他位置,让文件由各种软件等进行编辑。但是当我制作目录列表时(使用 dir
命令)我总是得到问号和其他奇怪的字符,而不是其他(中文、俄语)字符 - 默认情况下,dir
命令的输出似乎是用 ANSI 编写的默认 - 而不是 Unicode/UTF8。
例子:
02.03.09 21:13 15˙584˙500 ??????(??????).pdf = these three files were in Chinese 02.03.09 03:11 18˙638˙982 ????(???).pdf 24.03.08 17:25 61˙141˙454 ???®????Ż(???).pdf 18.03.13 16:00 1˙088 ????.txt = this file's name was in Russian 02.03.09 21:20 26˙083˙641 Transformations-of-Ming.pdf
(通过 Windows 右键单击上下文菜单“打印目录列表”获得)
针对这个问题,我曾尝试寻找各种建议,但所提供的解决方案都没有解决我的问题——或者,我找到了(看似过时的)答案,在各种环境下暂时无法解决该问题。也许有些东西发生了变化 - 也许有一个解决方案,可以立即或在 Windows 注册表中更改某些东西之后?或者,如果没有简单的批处理编程解决方案 - 也许有一些现成的软件可供我下载(免费或购买)来解决我的问题?
最佳答案
首先,您需要支持外来字符的 True Type 字体 (TTF)。安装字体:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Console\TrueTypeFont\
将其添加到注册表中安装字体后,控制台会显示该字体支持的所有外来字符。 dir
或重定向到文件 dir > dir.txt
之类的命令也有效。并且无需使用chcp
更改代码页。
https://stackoverflow.com/questions/16029552/
相关文章:
json - Play 2.1(scala) - 如何为 scala 枚举案例类编写 Format[
amazon-s3 - s3 临时签名 URL 中缺少对象的自定义 404 页面
asp.net-mvc-4 - Razor 看不到我的右括号
iphone - 单个上下文,但在不同上下文中的对象之间为 "Illegal attempt to
php - 为什么使用 mPDF 合并 PDF 文件后超链接丢失?
visual-studio-2012 - Visual Studio : Undo-redo of