Кодирование Django db - PullRequest
0 голосов
/ 03 мая 2010

У меня небольшая проблема с кодировкой.Данные в БД в порядке, когда я выбираю данные в php, все в порядке.Проблема возникает, когда я получаю данные и пытаюсь напечатать их в шаблоне, я получаю - Å порт вместо Šport и т. Д.

Все установлено на utf-8 - в settings.py, метатеги в шаблоне, таблица БД и у меня даже есть Юникод метод, указанный для модели, но, похоже, ничего не работает.Я чувствую себя здесь безнадежно ...

Вот код:

class Category_info(models.Model):
  objtree_label_id = models.AutoField(primary_key = True)
  node_id = models.IntegerField(unique = True)
  language_id = models.IntegerField()
  label = models.CharField(max_length = 255)
  type_id = models.IntegerField()

class Meta:
    db_table = 'objtree_labels'

def __unicode__(self):
    return self.label

Я даже пытался с return u "% s"% self.label.

Вот мнение:

def categories_list(request):
  categories_list = Category.objects.filter(parent_id = 1, status = 1)
  paginator = Paginator(categories_list, 10)

try:
    page = int(request.GET.get('page', 1))
except ValueError:
    page = 1

try:
    categories = paginator.page(page)
except (EmptyPage, InvalidPage):
    categories = paginator.page(paginator.num_pages)

return render_to_response('categories_list.html', {'categories': categories})

Может быть, я просто слепой и / или глупый, но это просто не работает.Так что любая помощь приветствуется, спасибо заранее.

С уважением

1 Ответ

0 голосов
/ 03 мая 2010

Это определенно не проблема Джанго.Насколько я понял, вы пытаетесь проанализировать существующую БД (я полагаю, это MySQL, потому что после неправильного обновления с 4.x до 5.x это выглядит как общая проблема).Вы должны выяснить необходимые параметры подключения и предоставить их через настройку DATABASE_OPTIONS.Попробуйте что-то вроде этого:

DATABASE_OPTIONS = {
    'use_unicode': True,
    'charset': 'utf8'
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...