Как вывести русские буквы в программах на Free Pascal
Основы программирования Каждый профессионал когда-то был чайником. Наверняка вам знакомо состояние, когда “не знаешь как начать думать, чтобы до такого додуматься”. Наверняка вы сталкивались с ситуацией, когда вы просто не знаете, с чего начать. Эта книга ориентирована как раз на таких людей, кто хотел бы стать программистом, но совершенно не знает, как начать этот путь. Подробнее... |
Вполне возможно, что у вас не установлены необходимые настройки для правильного вывода русских символов в консольных приложениях. В таком случае все ваши программы, созданные с помощью Free Pascal, вместо русских букв будут выводить “иероглифы”.
В этом видео я покажу вам решение данной проблемы.
Проблема заключается в том, что консольные приложения Windows выводят русские буквы в кодировке CP866, в то время как Free Pascal по умолчанию использует кодировку UTF-8.
Решить эту проблему можно с помощью директивы компилятора, которая устанавливает кодовую страницу:
{$CODEPAGE CP866}
Эту директиву нужно написать после объявлении имени программы.
Не знаю, чем это объяснить, но в некоторых случаях компилятор после ввода этой директивы может выдавать сообщения об ошибке. Мне удалось решить эту проблему путём подключения модуля charset, в котором объявлены кодовые страницы.
Итак, исходный код нашей программы на Free Pascal, которая правильно выводит русские символы, может выглядеть так:
program hello; uses charset; //Не обязательно, только //если компилятор выдаёт ошибку {$CODEPAGE CP866} //Устанавливаем кодовую страницу begin WriteLn('Привет, МИР!!!'); WriteLn('Hello, WORLD!!!'); ReadLn; end.
См. также статью Русские символы в консольных приложениях Lazarus.