Проблема с кодировкой русских символов в файлах *.pas


#1

Здравствуйте уважаемые форумчане!

Изучаем язык Pascal в школе. Есть исходники программ на этом языке с расширением *.pas написанные в среде Free Pascal (версия 2.2.2).

Когда открываешь данный файл в среде Pascal ABC русские символы не отображаются (см.скрин)

P/S Извините если не в том разделе создали тему.


#2

Это потому, что FPC работает с дос-кодировкой 866. Перекодируйте файл в 1251 и будет Вам счастье.


#3

Здравствуйте RAlex, благодарим за помощь!

Мы путем проб и ошибок (с учащимися, я учитель) нашли такой ресурс https://www.artlebedev.ru/decoder/advanced/ и он определил, что это кодировка CP866.

Хотели найти конвертер файлов *.pas, пробовали FCC и doswin… на 64 разрядной Windows 7 не запускается.

Посоветуйте пожалуйста конвертер кодировок *.pas файлов… если есть такой. Сейчас просто открывали файлы паскаль, перекодировали онлайн и опять сохраняли. Оч.долго.


#4

Если у в системе установлен Far - открываете в нем файл на редактирование, Ctrl+A выбирает все, Сtrl-X вырезаете его в буфер обмена, дальше меняете кодировку (клавиша F8) и по Ctrl-V вставляете содержимое назад. Сохраняете файл в новой кодировке.

Если пакетная перекодировка нужна - например, это: https://anton-pribora.ru/recoder

Или он тоже не запускается у Вас?


#5

Добрый день RAlex, БЛАГОДАРИМ Вас за помощь! Программа которую Вы посоветовали работает корректно. Чтобы не создавать еще тему, подскажите пожалуйста:

  1. Сейчас у нас установлена версия 3.1 сборка 1300 (07.08.2016)
  2. На 2 компьютерах те же самые сборки стали “тормозить”, т.е. и стартует прграмма долго и даже при вводе нескольких строчек кода может ненадолго зависать, тем более при попытке компиляции программы и вывода консольного окна, либо результата в окне вывода (внизу)
  3. Эти 2 компьютера абсолютно идентичны по аппаратным ресурсам, версии Windows 7, т.е. установлен стандартный набор программ и изначально все компьютеры работали одинаково.

P/S На одной из этих машин переустановили Pascal ABC, не помогло. Чтто еще можно предпринять?


#6

В первую очередь установите последнюю версию:
http://pascalabc.net/ssyilki-dlya-skachivaniya
На таком старье много что не так может пойти.

А если лаги будут и в новой версии - хотя бы будет смысл профайлить чтоб узнать что именно тормозит.


#7

Sun_Serega, Благодарим за помощь!

Нам ставить версию PascalABC.NET StandardPack? Или же все таки самую полную? (см.скрин

)


#8

При таком большом прыжке между версиями - лучше, на всяк, полную. А дальше уже обновлять стандартной.


#9

Понятно. Благодарим!


#10

Ставьте полную. Версия должна быть 3.5 если планируете пользоваться этой книгой )))


#11

Напишите, осталась ли проблема после установки полной версии


#12

RAlex, обязательно будем пользоваться, для углубленного изучения :wink:


#13

Admin, да конечно, у нас 13 машин, надо удалить и все заново поставить. Обязательно напишем!

Еще раз благодарим ВСЕХ кто нам ответил, очень приятно, не ожидали :hugs:


#14

Блокнот - кодировка?

Владислав, хотя такой функционал можно встроить в саму оболочку, но разве это не хорошая практика для ваших учеников?

  1. Навыки работы с потоками и нюансы кодировки
  2. Пакетная работа с файлами и обработка исключений
  3. Обоснование визуального или консольного режима

и так далее.


#15

Вы уточняйте. Стандартный блокнот винды не имеет такой функции. Это в Notepad++ можно смотреть и менять кодировку.

В последней версии это уже встроено. Кодировку всех .pas файлов автоматически конвертирует в UTF8, то есть в юникод.

Да и потоки - далеко не первое чему можно обучать. А комментарии из русских символов нужны ещё в начале обучения.


#16

Добрый день Ростислав! Уже начал писать ответ, но Сергей абсолютно правильно ответил, 9 класс по ФГОС только начинаем Pascal, поэтому все с самых азов и комментарии к коду, который демонстрируется в качестве примера необходимы.


#17

Сергей, т.е и конвертер получается не нужен? В последней версии все комменты будут отображаться корректно?


#18

Если я правильно понимаю - нет, конвертировать надо было потому что IDE не сможет знать, какой была изначальная кодировка, поэтому переведёт как из ANSI в UTF8, а в таком случае всё равно получатся иероглифы.

Но я бы всё таки использовал функционал Nodepad++ для конвертирования, по крайней мере потому что Nodepad++ ещё много для чего годится, то есть одноразовый софт ставить не надо.


#19

Notepad++ есть, хорошо, посотрю


#20

Я одного не пойму: почему у вас в школе столь актуален вопрос перекодировки из СР-866, если вы только начинаете изучать программирование? У детей в компьютерном классе стоят компьютеры начала 90-х годов, работающие в ДОС? Если нет - то где вы такие исходные тексты берете?