Невероятные символы в DOS - PullRequest
0 голосов
/ 13 января 2011

Программа командной строки выводит список путей к файлам. Я передаю вывод в другую программу для дальнейшей обработки. Все работает нормально, пока не обнаружен путь к файлу, который содержит «странный» символ (ó, î, ä и т. Д.).

Кажется, причиной проблемы является поведение, описанное ниже:

Тест 1

Когда я выполняю эту команду в cmd.exe,

C:\temp> echo ó > o.txt

содержимым созданного файла будет символ ¢.

Тест 2

Я создал входной файл o_src.txt (с помощью моего текстового редактора), который содержит символ -.

Команда

C:\temp> type o_src.txt

напечатает этот символ в cmd.exe ¾

Если я выполню

C:\temp>type o.txt

(o.txt из TEST 1) результат -

Тест 3

После выполнения команды

C:\temp> type o_src.txt > o_dst.txt

тогда содержимое o_src.txt и o_dst.txt одинаково.

Как это работает?

ASCII код ó: F3 / 243
Код ASCII ¢: A2 / 162
Код ASCII ¾: BE / 190

1 Ответ

2 голосов
/ 13 января 2011

Я считаю, что вам нужно изменить кодовую страницу, используя CHCP. Посмотрите на эти вопросы для получения дополнительной информации.

Пакетный скрипт не выполняется, если chcp был вызван

Какой кодировкой / кодовой страницей является cmd.exe, используя

Символы Unicode в командной строке Windows - как?

...