Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.11.19;
Скачать: CL | DM;

Вниз

командная строка..   Найти похожие ветки 

 
pathfinder   (2006-10-30 14:27) [0]

Добрый день.
Подскажите, пожалуйста, как выводить сообщения в командной строке на русском языке?


 
Dmitrij_K   (2006-10-30 14:31) [1]

CharToOemBuff
за примером в поиск


 
pathfinder   (2006-10-30 14:57) [2]

поиск показал, что есть несколько вариантов решения этой проблемы..
с CharToOEM все работает..
мне понравился вариант с SetConsoleOutputCP(866), но он почему-то работать не хочет(


 
Anatoly Podgoretsky ©   (2006-10-30 15:02) [3]

WriteLn


 
Anatoly Podgoretsky ©   (2006-10-30 15:04) [4]

pathfinder   (30.10.06 14:57) [2]
Он работает, но если ты указываешь кодировку 866, то и данные посылай в этой кодировке.


 
pathfinder   (2006-10-30 15:10) [5]

а по умолчанию делфи в какой кодировке данные посылает?


 
Anatoly Podgoretsky ©   (2006-10-30 15:33) [6]

По умолчанию в ANSI


 
pathfinder   (2006-10-30 15:46) [7]

а кодировке ANSI соответствует кодовая страница 1251?
SetConsoleOutputCP(1251) тоже показывает кракозябры..


 
Anatoly Podgoretsky ©   (2006-10-30 15:53) [8]

Если локализация русская то соответсвует.
Вообще то ANSI это не конкретная кодировка, а семейство Виндоус кодировок, соответсвенно OEM семейство ДОС кодировок.

Я не помню можно ли в SetConsoleOutputCP указывать кодировку, не надо ли указывать локализацию, что то типа $0419
Проверь. Справка по данному моменту скупая.


 
pathfinder   (2006-10-30 16:15) [9]


> Если локализация русская то соответсвует.

локализация не русская..delphi 2006(Version 10.0.2288.42451 Update 2)


> Я не помню можно ли в SetConsoleOutputCP указывать кодировку,
>  не надо ли указывать локализацию, что то типа $0419

c $0419 тоже самое(


 
Anatoly Podgoretsky ©   (2006-10-30 16:22) [10]

Для начала проверь из консоли CHCP


 
pathfinder   (2006-10-30 16:38) [11]

я - chcp
консоль - Текущая кодовая страница: 866


 
Anatoly Podgoretsky ©   (2006-10-30 16:47) [12]

chcp /?
Затем сменить и затем попытаться вывести в нее текст в ANSI
Если получишь осмысленные символы, то бороться с функцией, не то тогда передается.


 
pathfinder   (2006-10-30 16:53) [13]

chcp 1251
ввожу текст на русском - получаю кракозябры

chcp $0419
результат аналогичный..


 
Anatoly Podgoretsky ©   (2006-10-30 16:56) [14]

CHCP принимет только кодовую страницу, а не charset
Поскольку крякозябры, то значит твоя консоль не поддерживает 1251


 
pathfinder   (2006-10-30 17:05) [15]

получается, что для win2000/xp этот вариант не подходит?
остается CharToOem..


 
Anatoly Podgoretsky ©   (2006-10-30 19:05) [16]

> pathfinder  (30.10.2006 17:05)  [15]

Не знаю, надо проверять, но как то давно я выводил с помощью смены
консольной кодовой страницы, а сейчас мне лень проводить эксперименты


 
pathfinder   (2006-10-30 19:24) [17]


> Не знаю, надо проверять, но как то давно я выводил с помощью
> смены
> консольной кодовой страницы, а сейчас мне лень проводить
> эксперименты

да и мне признаться тоже лень..тем более что CharToOem исправно работает:)

спасибо всем за советы.


 
Anatoly Podgoretsky ©   (2006-10-30 19:44) [18]

> pathfinder  (30.10.2006 19:24)  [17]

Могу дополнительно сказать, что эксперименты с chcp показали, что явно
происходит перекодировка файла в 866 кодировку, я специально выводил файлы в
кодировках 866/1251 при обеих кодировках.



Страницы: 1 вся ветка

Текущий архив: 2006.11.19;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.032 c
2-1162579625
Батя
2006-11-03 21:47
2006.11.19
Если пользователь с таким логином


6-1149692838
RainKM
2006-06-07 19:07
2006.11.19
Сканер сети


15-1162558608
tinsin
2006-11-03 15:56
2006.11.19
Сохранение проектов


2-1162419772
jTommy
2006-11-02 01:22
2006.11.19
Получть из пути с короткими именами путь с длинными именами


2-1160826905
T54
2006-10-14 15:55
2006.11.19
ООП