Opened 13 years ago
Closed 11 years ago
#18160 closed Bug (duplicate)
Auth - Unknown Encoding Error when syncdb
Reported by: | anonymous | Owned by: | nobody |
---|---|---|---|
Component: | contrib.auth | Version: | dev |
Severity: | Normal | Keywords: | |
Cc: | Triage Stage: | Accepted | |
Has patch: | yes | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | no |
Easy pickings: | no | UI/UX: | no |
Description (last modified by )
When I was running ./manage.py syncdb
(with sqlite3), a LookupError shows up
as follow. I filed a patch to fix it.
In the UnitTest, I made import locale
as inline (Or should I import it at
the beggining of the file?)
bash $ ./manage.py syncdb Creating tables ... Creating table auth_permission Creating table auth_group_permissions Creating table auth_group Creating table auth_user_user_permissions Creating table auth_user_groups Creating table auth_user Creating table django_content_type Creating table django_session Creating table django_site Creating table django_admin_log You just installed Django's auth system, which means you don't have any superusers defined. Would you like to create one now? (yes/no): yes Traceback (most recent call last): File "./manage.py", line 13, in <module> execute_from_command_line(sys.argv) File "/Users/yippee/projects/YEditor/server/django/core/management/__init__.py", line 443, in execute_from_command_line utility.execute() File "/Users/yippee/projects/YEditor/server/django/core/management/__init__.py", line 382, in execute self.fetch_command(subcommand).run_from_argv(self.argv) File "/Users/yippee/projects/YEditor/server/django/core/management/base.py", line 196, in run_from_argv self.execute(*args, **options.__dict__) File "/Users/yippee/projects/YEditor/server/django/core/management/base.py", line 232, in execute output = self.handle(*args, **options) File "/Users/yippee/projects/YEditor/server/django/core/management/base.py", line 371, in handle return self.handle_noargs(**options) File "/Users/yippee/projects/YEditor/server/django/core/management/commands/syncdb.py", line 110, in handle_noargs emit_post_sync_signal(created_models, verbosity, interactive, db) File "/Users/yippee/projects/YEditor/server/django/core/management/sql.py", line 189, in emit_post_sync_signal interactive=interactive, db=db) File "/Users/yippee/projects/YEditor/server/django/dispatch/dispatcher.py", line 172, in send response = receiver(signal=self, sender=sender, **named) File "/Users/yippee/projects/YEditor/server/django/contrib/auth/management/__init__.py", line 73, in create_superuser call_command("createsuperuser", interactive=True, database=db) File "/Users/yippee/projects/YEditor/server/django/core/management/__init__.py", line 150, in call_command return klass.execute(*args, **defaults) File "/Users/yippee/projects/YEditor/server/django/core/management/base.py", line 232, in execute output = self.handle(*args, **options) File "/Users/yippee/projects/YEditor/server/django/contrib/auth/management/commands/createsuperuser.py", line 70, in handle default_username = get_default_username() File "/Users/yippee/projects/YEditor/server/django/contrib/auth/management/__init__.py", line 105, in get_default_username default_username = get_system_username() File "/Users/yippee/projects/YEditor/server/django/contrib/auth/management/__init__.py", line 85, in get_system_username return getpass.getuser().decode(locale.getdefaultlocale()[1]) LookupError: unknown encoding: x-mac-simp-chinese
Thanks,
mitnk
Attachments (2)
Change History (7)
by , 13 years ago
Attachment: | auth_unknown_encoding.diff added |
---|
comment:1 by , 12 years ago
Description: | modified (diff) |
---|
comment:2 by , 12 years ago
Triage Stage: | Unreviewed → Accepted |
---|
comment:3 by , 12 years ago
Triage Stage: | Accepted → Ready for checkin |
---|
comment:4 by , 12 years ago
Triage Stage: | Ready for checkin → Accepted |
---|
While the original patch fixes the issue with an invalid encoding, it does not address the problem completely. There also seem to be many duplicate tickets regarding this issue (search for getdefaultlocale), but it seems like the easiest fix would be to simply use django.utils.encoding.DEFAULT_LOCALE_ENCODING, as in the attached patch auth_invalid_encoding.diff
by , 12 years ago
Attachment: | auth_invalid_encoding.diff added |
---|
Updated patch which fixes unknown as well as invalid (None) encodings
Fixed traceback.