@gorodetskiykp
горе-программист

Почему возникает ошибка кодировки в скрипте Python?

Рисую форму. Не могу вывести значения полей после нажатия submit.

Ошибка: 'ascii' codec can't decode byte 0xd1 in position 0: ordinal not in range(128)

#!c:/python27/python.exe
# -*- coding: utf-8 -*-

from __future__ import unicode_literals

import os
import codecs
import cgi
import smtplib
from email.mime.text import MIMEText

print 'Content-Type: text/html\r'
print '\r'

curUser = os.getenv('REMOTE_USER').split("\\")[1]

template = '''
{}{}
<form action="" method="post">
<p><select name="is_request">
<option value="АСКИД">АСКИД</option>
<option selected value="СЭД Documentum">СЭД Documentum</option>
</select></p>
<label>{}</label><br />
<textarea name="message" rows="10" cols="45">
</textarea>
<p><input type="submit"></p>
</form>
'''

form = cgi.FieldStorage()
isys_name = form.getfirst("is_request", "")
message = form.getfirst("message", "")

if (isys_name):
	print curUser
	print isys_name
	print message
	try:
		mailText = ', '.join([curUser, isys_name, '3'])
		print "<p>{}</p>".format(mailText)
	except Exception as e:
		print "<p>{}</p>".format(e)
else:
	print template.format("Сообщение о неисправности ИС от пользователя ", curUser, "Информация о неисправности").encode('cp1251')
  • Вопрос задан
  • 373 просмотра
Пригласить эксперта
Ответы на вопрос 1
@YaroslavS
Возможно кодировка не utf-8 добавьте такой заголовок
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы