Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 7, 2013 16:54:35

Faer
Зарегистрирован: 2013-08-25
Сообщения: 25
Репутация: +  3  -
Профиль   Отправить e-mail  

Передать русские символы POST'ом.

В общем и целом, у меня есть CGI-скрипт, который получает данные из формы. Проблема заключается в том, что если в поле ввести русские символы, CGI-скрипт выведет вместо них знаки вопроса.

Вот скрипт:

import cgi
import sys
import io
import cgitb
cgitb.enable()
print('Content-type: text/html;charset=utf-8\n')
form=cgi.FieldStorage()
if hasattr(sys.stdout, "buffer"):                                                                                             
    def bwrite(s):                                                                                                              
        sys.stdout.flush()                                                                                                        
        sys.stdout.buffer.write(s)
    write=sys.stdout.write
else:   
    wrapper=io.TextIOWrapper(sys.stdout)
    def bwrite(s):
        wrapper.flush()
        sys.stdout.write(s)
    write=wrapper.write
s=form['blname'].value
bwrite(s.encode())
bwrite('Русский текст'.encode())
Надпись ‘Русский текст’ выводится нормально. А вот данные из формы заменяются вопросами. Как это исправить?

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version