J'ai un petit problème avec l'encodage. Les données en db sont correctes, quand je sélectionne les données en php c'est ok. Le problème survient lorsque j'obtiens les données et j'essaie de les imprimer dans le modèle, je reçois - Å port au lieu de Šport, etc.Django db encoding
Tout est réglé sur utf-8 - dans settings.py, balises meta dans le template, db table et j'ai même unicode méthode spécifiée pour le modèle, mais rien ne semble fonctionner. Je reçois assez sans espoir ici ...
Voici un code:
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
J'ai même essayé avec retour u "% s" % self.label.
Voici la vue:
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})
Peut-être que je suis juste aveugle et/ou stupide, mais il travail juste ne. Donc toute aide est appréciée, merci d'avance.
Cordialement
J'ai essayé votre suggestion et malheureusement rien n'a changé. Oui, c'est une base de données existante (Mysql 5.x pour un temps looong maintenant), il n'a pas été amélioré cependant. Avant d'avoir changé les options de base de données pour ce que vous avez recommandé, j'ai utilisé - "init_command": "SET NAMES 'utf8'". Est-ce que cela pourrait être le problème? Mais d'un autre coté j'utilise un db existant ... – realshadow
Encore une chose - quand je mettrai à jour les données dans la base de données via django, l'encodage est ok. – realshadow