Форум сайта python.su
0
Windows 10
Python 3.9.7
Локальный хостинг - Apache 2.4
Есть HTML страница, написанная на Python:
#! C:/Python/python print ('Content-type: text/html\n\n') print ('''<!DOCTYPE html> <html lang="ru"> <head> <meta charset="utf-8"> <title>Титул</title> </head> <body>Текст</body> </html>''')
Отредактировано ValeriJan (Сен. 30, 2021 12:25:32)
Офлайн
857
Перед title вставь такой тег
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
AddDefaultCharset utf-8
Отредактировано py.user.next (Сен. 30, 2021 13:58:56)
Офлайн
0
py.user.next - сделал, как ты написал. Ничего не изменилось - по прежнему �����
Добавлял в Apache строку SetEnv PYTHONIOENCODING utf8
В этом случае текст в программе становится нормальным, но тогда в кракозябры превращается текст, загружаемый в страницу из файла: Оборудование
При этом и сама страница на Python с русским текстом, и внешний файл с русским текстом сохранены в UTF-8.
Отредактировано ValeriJan (Сен. 30, 2021 15:06:35)
Офлайн
857
ValeriJanИз какого файла?
но тогда в кракозябры превращается текст, загружаемый в страницу из файла
Отредактировано py.user.next (Сен. 30, 2021 15:37:02)
Офлайн
294
ValeriJan а сама страница в какой кодировке то?
[code python][/code]
Офлайн
0
Задача - сделать именно в Windows 10.
Файл и внешний текстовый файл написаны и сохранены в utf-8
Полный код:
#! C:/Python/python print ('Content-type: text/html\n\n') # Титул и слово Текст в теле документа выводятся ромбами print ('''<!DOCTYPE html> <html lang="ru"> <head> <meta charset="utf-8"> <title>Титул</title> </head> <body>Текст<br>''') fa = open('set/news.txt') ws = fa.read() fa.close() # Текст из файла set/news.txt выводится в правильном виде print (ws) print ('</body></html>')
Отредактировано ValeriJan (Сен. 30, 2021 17:20:49)
Офлайн
0
Проблема решена.
Офлайн
857
ValeriJanВ Linux никаких проблем нет ни с Apache, ни с Python. То есть там не надо ничего устанавливать, там просто всё работает. А устанавливать тебе надо как раз потому, что ты в винде Apache поставил.
Изменить ситуацию можно только записав в Апаче строку SetEnv PYTHONIOENCODING utf8
ValeriJanНу, поздравляю, ты всё это время потратил на пустоту. Из-за этого ты ничего и не знаешь.
Я 18 лет занимаюсь веб-программированием на PHP и Perl в Windows
ValeriJanЯ не знаю, что ты пыжишься и споришь с нами, но мы все видим твой код, который ты выложил. Это уровень школьника. Это не программист с 18-летним стажем написал, это просто какая-то параша уровня 12-летнего мальчика, который ещё не знает квадратные уравнения и поэтому ему ещё нельзя давать матрицы и полиномы, так как он их банально не поймёт. Естественно, что ты не знаешь, как устроен генератор капчи там или mp3-файл, потому что это слишком сложно.
Судя по массе тем в сети про кодировки Python - это все же заморочка Python.
Офлайн
0
py.user.next - спасибо, насмешил.
Офлайн