我需要不时作出的文件列表从CD我获取文件的列表。这些文件的名称在其他书写系统中经常包含字符,如西里尔文俄文(Добродошли.doc)或简体/繁体中文(孟子译注.pdf)。我的电脑(在Windows 7下运行,波兰语)显示文件名正确,打开文件,将文件保存在其他位置,允许通过各种软件编辑文件等。但是当我制作目录列表时(使用dir命令)我总是得到问号和其他奇怪的字符,而不是其他(中文,俄文)字符 - 默认情况下dir命令的输出似乎是用ANSI编写的 - 而不是Unicode/UTF8。如何保存目录中包含俄罗斯或中国的字符(Windows7的)
例子:
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
我试图寻找各种建议WWW这个问题,并没有解决方案(与Windows右键上下文菜单“打印目录列表”获得)提供已经解决了我的问题 - 或者我发现(似乎过时)的答案,暂时的问题不能在各种环境下解决。也许有什么改变 - 也许有一个解决方案,直接离开或改变了Windows注册表内的东西后?否则,如果没有简单的批处理编程解决方案 - 也许有一些现成的软件可以下载(免费或购买)来解决我的问题?
我不熟悉Java或php编程,也不知道如何处理Ruby(这里也有类似的问题,但仅限于这些环境)。我可以说我在MS-DOS批处理编程中遇到困难 - 我曾经在1980年代末的批处理编程方面非常优秀,直到1990年代中期,甚至在用于DOS宏命令编辑/创建的甚至复杂的WordPerfect 5.1以及其他字符串编程的类型 - 可能我太老了(请不要问我,多大年纪了)学习高级面向对象编程(我从来不是程序员,只是一个电脑迷,但在Windows 98之后,我不得不放弃)。
感谢您的任何建议 - 我会尝试所有(如果有的话)。
命令提示符不能正确显示Unicode字符。请放心,您的应用程序工作正常。 –
请参阅:[什么编码/代码页是cmd.exe使用](http://stackoverflow.com/questions/1259084/what-encoding-code-page-is-cmd-exe-using) – Endoro
@Endoro - 我'我已经看到了它,检查了所有可能的代码页(原来我有852,但即使将其更改为西里尔语特定的cp(855,860,1251)或Unicode(65001)也没有改变俄罗斯的情况,并不是说汉族。 UTF16小或大端cp(1201或1200 - 取自http://en.wikipedia.org/wiki/Code_page的数字) - 导致错误消息“不正确的代码页”。我应该使用哪种cp?也许我需要永远改变它来启动它,因为“程序(除了Cmd.exe),你分配新的代码页之前开始使用原代码页”?但目录是cmd.exe –