Уведомления

Группа в Telegram: @pythonsu

#1 Март 29, 2014 09:36:20

atkachen
Зарегистрирован: 2014-03-29
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблема с кодировкой в CGI-скрипте

Добрый день, Участники Форума!

При написании CGI-скрипта столкнулся с проблемой отображения русских символов. Алгоритм работы скрипта следующий:

1. Есть шаблон формы на HTML:

<HTML><TITLE>Test</TITLE>
<head><meta http-equiv="Content-Type" content="text/html;charset=cp1251" /></head>
<BODY>
<H1 align=center>Главная страница:</H1>
<FORM method=POST action="/cgi-bin/mainPage.py">
    <P><TABLE border cellpadding=3 align=center>
         <TR>
            <TH align=right>Ф.И.О. абонента:
            <TD><input type=text name=abon_fio required value=%(abon_fio)s>
         <TR>
            <TH align=right>Номер телефона:
            <TD><input type=tel name=abon_mphone required value=%(abon_mphone)s>
         <TR>
            <TD colspan=1 align=center>
            <input type=submit name=action style="width: 100" value="Сохранить">
    </TABLE>
</FORM>
</BODY>
</HTML>

2. Далее, для чтения параметров HTML-формы, в скрипте выполняются следующие команды:
myfrm = cgi.FieldStorage()
fio=myfrm["abon_fio"].value
tel = myfrm["abon_mphone"].value
action = myfrm["action"].value

3. При попытке вывести значение параметра:
print(action)

вылетает исключение:
[Sat Mar 29 14:32:22 2014] [error] [client 127.0.0.1] UnicodeEncodeError: 'charmap' codec can't encode characters in position 0-3: character maps to <undefined>\r, referer: http://127.0.0.1:8080/cgi-bin/mainPage.py

Подскажите, пожалуйста, как правильно читать и передавать параметры с русскими буквами в форму и обратно?

Отредактировано atkachen (Март 29, 2014 09:37:51)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version