From ed532a6a1ee675432940e69cec866b52aca96575 Mon Sep 17 00:00:00 2001 From: Claude Paroz Date: Fri, 18 Apr 2014 17:51:13 +0200 Subject: [PATCH] Fixed #22399 -- Forced fixture reading in binary mode This might help on systems where default encoding is not UTF-8 (and on Python 3). Thanks bacilla for the report. --- django/core/management/commands/loaddata.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/django/core/management/commands/loaddata.py b/django/core/management/commands/loaddata.py index 44583bd41e..beceec1e77 100644 --- a/django/core/management/commands/loaddata.py +++ b/django/core/management/commands/loaddata.py @@ -125,7 +125,8 @@ class Command(BaseCommand): for fixture_file, fixture_dir, fixture_name in self.find_fixtures(fixture_label): _, ser_fmt, cmp_fmt = self.parse_name(os.path.basename(fixture_file)) open_method = self.compression_formats[cmp_fmt] - fixture = open_method(fixture_file, 'r') + # Forcing binary mode may be revisited after dropping Python 2 support (see #22399) + fixture = open_method(fixture_file, 'rb') try: self.fixture_count += 1 objects_in_fixture = 0