Включение вывода KMZ с помощью gzip - PullRequest
2 голосов
/ 14 апреля 2011

Когда я пытаюсь включить gzip для вывода, появляется следующая ошибка:

Traceback (most recent call last):
  File "/base/python_runtime/python_lib/versions/1/google/appengine/ext/webapp/__init__.py", line 634, in __call__
    handler.get(*groups)
  File "/base/data/home/apps/my-app-ip/django2.349712625627523096/main.py", line 2246, in get
    self.response.out.write(compressBuf(output))
  File "/base/data/home/apps/my-app-ip/django2.349712625627523096/main.py", line 1618, in compressBuf
    zfile.write(buf)
  File "/base/python_runtime/python_dist/lib/python2.5/gzip.py", line 204, in write
    self.crc = zlib.crc32(data, self.crc)
UnicodeEncodeError: 'ascii' codec can't encode character u'\u2019' in position 1075: ordinal not in range(128)

Код, который у меня есть

def compressBuf(buf):
    zbuf = StringIO.StringIO()
    zfile = gzip.GzipFile(None, 'wb', 9, zbuf)
    zfile.write(buf)
    zfile.close()
    return zbuf.getvalue()

Можете ли вы сказать мне, что я делаю неправильно? Спасибо

1 Ответ

1 голос
/ 14 апреля 2011

Похоже, вам нужно установить кодировку в utf-8.Смотрите этот вопрос .

...