1

Под Win7 cmd.exe выполнение следующих команд воспроизведет ситуацию, с которой я столкнулся сегодня:

(чтобы уточнить, мой раздел D: отформатирован как NTFS.)

D:\...\_play\notes> chcp
Active code page: 65001

D:\...\_play\notes>dir /b
输入.txt
输出.txt

D:\...\_play\notes> chcp 936
活动代码页: 936                 (the chinese version of "Active Code Page: 936")

D:\...\_play\notes>dir /b
输入.txt
输出.txt

Это поведение команды dir , и по сравнению с командой type это выглядит еще более запутанным.

D:\...\_play\notes>chcp
活动代码页: 936                 (the chinese version of "Active Code Page: 936")

D:\...\_play\notes>type 输入.txt
====== 璺ㄧ晫鍙傝€冭祫婧愪俊鎭緭鍏ュ獟浠?=====   (text garbled as the file is encoded in utf8)

D:\...\_play\notes> chcp 65001
Active code page: 65001

D:\...\_play\notes>type 输入.txt
====== 跨界参考资源信息输入媒介 ======

1 ответ1

4

Имена файлов хранятся как UTF-16LE в NTFS и VFAT, и файловые функции знают, как преобразовать это в текущий CP (если это возможно). Содержимое файла читается как байты, и поэтому кажется искаженным под чем-либо кроме их соответствующего CP.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .