2009-04-07 5 views
1

Je souhaite enregistrer du texte dans la base de données à l'aide des wrappers ORM de Django. Le problème est, ce texte est généré en grattant des sites Web externes et plusieurs fois il semble qu'ils sont répertoriés avec le mauvais encodage. Je voudrais stocker les octets bruts afin que je puisse améliorer ma détection d'encodage au fil du temps sans refaire les éraflures. Mais Django semble vouloir que tout soit stocké comme unicode. Puis-je contourner cela en quelque sorte?Comment gérer unicode d'un encodage inconnu dans Django?

Répondre

1

Vous pouvez stocker des données, codées en base64, par exemple. Ou essayez d'analyser les en-têtes HTTP à partir du navigateur, peut-être qu'il est plus simple d'obtenir un encodage approprié à partir de là.

+0

Certains pourcentages de sites utilisent un encodage incohérent sur la page. Je veux toujours stocker les données brutes afin que je puisse revenir en arrière et voir exactement. – lacker

1

Créer un fichier avec les données. Utilisez un Django models.FileField pour conserver une référence au fichier.

Non, cela n'implique pas une tonne d'E/S. Si votre fichier est petit, il ajoute 2 ou 3 E/S (le répertoire lu, l'iNode lu et les données lues).