И столкнулся с непонятным. Кодировка СР1251. В консоли выбран шрифт Lucida Console, т. е. той же кодировки. Текст отображается правильно. Но тот текст, который я ввожу - крякозябрами. Т. е. в DOS'овской кодировке? СР866?

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.
| camac |
Сообщение
#1
|
|
Новичок ![]() Группа: Пользователи Сообщений: 23 Пол: Мужской Репутация: 0 |
Удалась возможность разжиться ПК с Виндовс.
И столкнулся с непонятным. Кодировка СР1251. В консоли выбран шрифт Lucida Console, т. е. той же кодировки. Текст отображается правильно. Но тот текст, который я ввожу - крякозябрами. Т. е. в DOS'овской кодировке? СР866? ![]() |
![]() ![]() |
| OCTAGRAM |
Сообщение
#2
|
![]() Большевик–концептуал ![]() ![]() ![]() Группа: Пользователи Сообщений: 194 Пол: Мужской Реальное имя: Иван Левашев Jabber: bu_gen@octagram.name Skype: i.levashew QQ: 3152538431 Ада: Сторонник Embarcadero Delphi: Сторонник Free Pascal: Разработчик Turbo Pascal: Установлен Репутация: 1 |
Какая версия FPC? Это 3.0 себя так ведёт? Он же вроде Юникодный, там должны были попрощаться наконец с бредом про кодировки
WriteConsoleW в Windows, во всяком случае, работает в Юникоде, и лучше пользоваться WinAPI, если в FPC RTL такая древняя, что до сих пор остались какие-то кодировки. Более правильно было бы не конкретно CP1251, а, наверное, CP_ACP. Это раз. Не знаю, как там с файловой системой работа, но если консольное API для древних, работающих в однобайтных кодировках, программ, переключено в ANSI, то файловое API для древних, работающих в однобайтных кодировках, программ, по-прежнему работает в OEM, и это может быть проблемой. Тогда ещё SetFileApisToAnsi может потребоваться. Но вообще просто не надо в 2019 писать с кодировками, отличными от кодировок Юникода -------------------- If you want to get to the top, you have to start at the bottom
|
camac Что с кодировкой? 20.06.2019 2:46
camac Самое смешное - в Линуксе у консоли в настройках у… 20.06.2019 16:00
camac Итак, решение:
1) подключаем модуль windows
use… 21.06.2019 0:22
camac
не надо в 2019 писать с кодировками, отличными о… 24.06.2019 13:49
OCTAGRAM В виндовую консоль надо писать WriteConsoleW, кото… 24.06.2019 15:32![]() ![]() |
|
Текстовая версия | 23.11.2025 4:24 |