Школа программиста

Забыли пароль?
[задачи] [курсы] [олимпиады] [регистрация]
Логин:   Пароль:    
Скрыть меню
О школе
Правила
Олимпиады
Фотоальбом
Гостевая
Форум
Архив олимпиад
Архив задач
Состояние системы
Рейтинг
Курсы
Новичкам
Работа в системе
Курсы ККДП
Дистрибутивы
Статьи
Ссылки


 
Вернуться
Тема: Питон 3.11 сервера почему то ругается на многострочный коммент кириллицей - 'utf-8' codec can't decode byte 0xd0 in position 1: invalid continuation byte
1
  1  Меньшиков Фёдор Владимирович, 19 декабря 2022 г. 18:48:37
      С кодировкой на странице просмотра исходника всё хорошо, если начальное решение отправлялось через редактор на странице, а не через файл. Цитата порадовала.
     Надо было в цитате так и написать: "- Э-э..., да вот, ваше благородие, хотелось бы еще исправить кодировку (отображение кириллицы) и в окне редактирования, если соизволите..." :)))
  2  Неизвестный, 19 декабря 2022 г. 10:05:47
      "Мужичок в зипуне быстро закинул в себя преподнесённый стопарик с водкой, крякнул от удовольствия, поблагодарил за угощение, но не уходил и мялся в дверях, теребя в руках овчиную шапку.
- Ну что тебе ещё надо? - спросил один из офицеров, оторвавшись от хитроумной английской машинки, стоявшей на столе, со странным названием "тилитайп". - Тебе же налили на посошок.
- Э-э..., да вот, ваше благородие, хотелось бы еще на чаёк-с малую копеечку, если соизволите..."

А можно еще исправить кодировку (отображение кириллицы) и в окне редактирования решения, это когда нажимаешь на номер ID решения? Вроде бы мелочь, но...
  3  Неизвестный, 18 декабря 2022 г. 12:37:27
      Проверил. Всё работает отлично, оперативно сработано, БОЛЬШОЕ спасибо Вам!

P/S Ya hotel napisat' vam v nachale na utf-8 ASCII, no vsio zarabotalo very well. Good job! Thanks very mutch! You are great Cyrillic Legacy Savior :))))
     Всегда пожалуйста!
  4  Беляев Сергей Николаевич, 18 декабря 2022 г. 10:58:56
      Проблема с кодировкой решена. Теперь на acmp.ru можно использовать многострочные комментарии с кириллицей как в Python, так и в PyPy.
  5  Меньшиков Фёдор Владимирович, 17 декабря 2022 г. 17:57:42
      А проблема исключительно в том, что страницы acmp в кодировке 1251. И когда редактор на странице сохраняет файл, то он тоже записывается в 1251. А Питон по умолчанию ожидает utf-8. Можно конечно указать кодировку cp1251 согласно PEP 263, но тогда код перестанет запускаться в IDLE. Правильное решение - на сервере при обработке отправки через редактор на странице задачи кода на Python/PyPy - сохранять его в файл/БД не в кодировке 1251, а в кодировке UTF-8. А при последующем отображении на сайте (на странице просмотра исходника и при подгрузке через [последнее решение] делать обратную операцию - из utf-8 ковертировать в 1251 для отображения в редакторе.

В Java 18 кстати тоже всё перевели на UTF-8 (на acmp пока Java 16), так что в случае апгрейда там тоже программы с русскими комментариями тоже резко перестанут компилироваться.

При этом применять ко всем языкам конвертацию 1251 в utf-8 при сохранении в базу категорически нельзя, некоторые как раз ожидают, что код будет в 1251.
  6  Меньшиков Фёдор Владимирович, 17 декабря 2022 г. 17:25:25
      Отправляете как файл (кнопки "Выберите файл", "Отправить"), а не через встроенный редактор - и всё успешно принимается. Есть, правда, проблема, что при просмотре сданного кода комментарии будут в cp1251, то есть нечитаемые, но это уже мелочи.
  7  Беляев Сергей Николаевич, 17 декабря 2022 г. 13:26:32
      Дистрибутив питона был взят с официального сайта python.org. Видимо, беда в том, что тестирующая система реализована в среде MS Windows 8.
  8  Неизвестный, 16 декабря 2022 г. 18:39:09
      на utf-8 на English и прочими первыми 128 символами, т.е. в старом добром 7 бит ASCII
  9  Неизвестный, 16 декабря 2022 г. 18:23:56
      Я преподаю Питон самым обычным среднестатистическим школьникам, предложение писать комменты на английском не прокатит, т.к. есть много 6-ти и даже 5-классников в группах. Достаточно того, что я, как могу, учу их подбирать хорошие имена для переменных и процедур на английском, причём многие слова приходится им объяснять, открывать сайт wooordhunt, что бы посмотрели варианты перевода, синонимы и прослушали произношение. Если и комменты писать на английском, занятие, якобы, по программированию
превратится в дешёвый балаган псевдоурока по Инглиш (я не являюсь учителем английского).

Я пишу программу с русским комментарием, как учебный или методический материал для занятий с учениками и, возможно, для таких же учителей. Я запускаю его на своём учительском компе в нативном питоне 3.11 с сайта python.org в IDLE, и всё компилится без ошибок.

У вас указан компилятор Питон 3.11. Питон 3, бла-бла-бла, в отличии от 2-го полностью поддерживает работу с utf-8, из-за чего и произошла некогда мегадрама по переходу на 3-ю версию... Но не на вашем сайте :))) на utf-8

Вроде бы очень серьёзный ресурс, а тут такой бардак.

win-1251? В наше время уж лучше тогда на самом деле писать на English и прочими первыми 128 символами, т.е. в старом добром 7 бит ASCII
  10  Беляев Сергей Николаевич, 15 декабря 2022 г. 14:57:01
      Используйте кодировку Windows-1251. Также можете отправлять решения, используя PyPy, многие из таковых пройдут. Рекомендовать писать комментарии на английском языке вряд ли правильно было бы с моей стороны :)
  11  Неизвестный, 15 декабря 2022 г. 8:30:49
      Пробовал и UTF-8 и UTF-8 BOM кодировки - всё равно та же ошибка
Без русских комментов компиляция без ошибок проходит
1

Чтобы оставить сообщение необходимо зарегистрироваться и авторизоваться!

Красноярский краевой Дворец пионеров, (c)2006 - 2023, E-mail: admin@acmp.ru