Ошибка юникода django на странице администратора

Я смутно знаком с природой Unicode, но не уверен, как все части сочетаются друг с другом. У меня ошибка при отображении конкретных экземпляров на странице администратора.

Обнаружена ошибка UnicodeEncodeError при рендеринг: кодек ascii не может кодировать символ u '\ u2019' в позиции 29: порядковый номер не в диапазоне (128)

Вот моя модель:

class Proposal(models.Model):
    project = models.ForeignKey(Project)
    dateCreated = models.DateTimeField(editable=False)
    xml = models.TextField(max_length=1000000)

    def __str__(self):
        return str('Proposal for: %s' % self.project.name)

Я вошел в свою базу данных mysql и убедился, что все БД, таблица и столбец сопоставлены как utf8_unicode_ci, поэтому я не понимаю, почему страница пытается отобразить как ascii. Глядя на различные форумы и документы, я вижу упоминания о функциях str и unicode , но они, похоже, не имеют к этому никакого отношения, поскольку список экземпляров отображается нормально на странице администратора. Он просто показывает фактическую форму экземпляра, которая вызывает проблему.

Вот пример xml, который я извлек из phpmyadmin ...

<?xml version="1.0"  encoding="UTF-8"?>
<proposal>

  <section title="OVERVIEW">
    <section title="Introduction">
      <text>
    This proposal is not in the system because it was completed as an agreement in Word previous to us getting this application up and running.  Please refer to the attachments in this project for documentation or to see the agreement.
      </text>
    </section>
  </section>
</proposal>

Я даже пытался намеренно исключить xml (что я не могу сделать в долгосрочной перспективе, так как я хочу, чтобы его можно было редактировать в админке). section), но я все равно получаю ту же ошибку, поэтому я даже не уверен, что проблема в xml. Если проблема не в xml, я понятия не имею, что еще может мешать отображению этой страницы.

class ProposalAdmin(admin.ModelAdmin):
    exclude = ('xml',)
admin.site.register(Project)
25
задан voodoogiant 2 July 2011 в 23:51
поделиться