![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
командная строка.. [D5, 2000]
pathfinder © (2006-10-30 14:27:00)Добрый день.
Подскажите, пожалуйста, как выводить сообщения в командной строке на русском языке?
Anatoly Podgoretsky (2006-10-30 19:44:00) [1]> pathfinder (30.10.2006 19:24) [17]
Могу дополнительно сказать, что эксперименты с chcp показали, что явно
происходит перекодировка файла в 866 кодировку, я специально выводил файлы в
кодировках 866/1251 при обеих кодировках.
pathfinder (2006-10-30 19:24:00) [2]
> Не знаю, надо проверять, но как то давно я выводил с помощью
> смены
> консольной кодовой страницы, а сейчас мне лень проводить
> эксперименты
да и мне признаться тоже лень..тем более что CharToOem исправно работает:)
спасибо всем за советы.
Anatoly Podgoretsky (2006-10-30 19:05:00) [3]> pathfinder (30.10.2006 17:05) [15]
Не знаю, надо проверять, но как то давно я выводил с помощью смены
консольной кодовой страницы, а сейчас мне лень проводить эксперименты
pathfinder (2006-10-30 17:05:00) [4]получается, что для win2000/xp этот вариант не подходит?
остается CharToOem..
Anatoly Podgoretsky (2006-10-30 16:56:00) [5]CHCP принимет только кодовую страницу, а не charset
Поскольку крякозябры, то значит твоя консоль не поддерживает 1251
pathfinder (2006-10-30 16:53:00) [6]chcp 1251
ввожу текст на русском - получаю кракозябры
chcp $0419
результат аналогичный..
Anatoly Podgoretsky (2006-10-30 16:47:00) [7]chcp /?
Затем сменить и затем попытаться вывести в нее текст в ANSI
Если получишь осмысленные символы, то бороться с функцией, не то тогда передается.
pathfinder (2006-10-30 16:38:00) [8]я - chcp
консоль - Текущая кодовая страница: 866
Anatoly Podgoretsky (2006-10-30 16:22:00) [9]Для начала проверь из консоли CHCP
pathfinder (2006-10-30 16:15:00) [10]
> Если локализация русская то соответсвует.
локализация не русская..delphi 2006(Version 10.0.2288.42451 Update 2)
> Я не помню можно ли в SetConsoleOutputCP указывать кодировку,
> не надо ли указывать локализацию, что то типа $0419
c $0419 тоже самое(
Anatoly Podgoretsky (2006-10-30 15:53:00) [11]Если локализация русская то соответсвует.
Вообще то ANSI это не конкретная кодировка, а семейство Виндоус кодировок, соответсвенно OEM семейство ДОС кодировок.
Я не помню можно ли в SetConsoleOutputCP указывать кодировку, не надо ли указывать локализацию, что то типа $0419
Проверь. Справка по данному моменту скупая.
pathfinder (2006-10-30 15:46:00) [12]а кодировке ANSI соответствует кодовая страница 1251?
SetConsoleOutputCP(1251) тоже показывает кракозябры..
Anatoly Podgoretsky (2006-10-30 15:33:00) [13]По умолчанию в ANSI
pathfinder (2006-10-30 15:10:00) [14]а по умолчанию делфи в какой кодировке данные посылает?
Anatoly Podgoretsky (2006-10-30 15:04:00) [15]pathfinder (30.10.06 14:57) [2]
Он работает, но если ты указываешь кодировку 866, то и данные посылай в этой кодировке.
Anatoly Podgoretsky (2006-10-30 15:02:00) [16]WriteLn
pathfinder (2006-10-30 14:57:00) [17]поиск показал, что есть несколько вариантов решения этой проблемы..
с CharToOEM все работает..
мне понравился вариант с SetConsoleOutputCP(866), но он почему-то работать не хочет(
Dmitrij_K (2006-10-30 14:31:00) [18]CharToOemBuff
за примером в поиск