Opened 14 years ago
Closed 12 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 , 14 years ago
| Attachment: | auth_unknown_encoding.diff added |
|---|
comment:1 by , 13 years ago
| Description: | modified (diff) |
|---|
comment:2 by , 13 years ago
| Triage Stage: | Unreviewed → Accepted |
|---|
comment:3 by , 13 years ago
| Triage Stage: | Accepted → Ready for checkin |
|---|
comment:4 by , 13 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 , 13 years ago
| Attachment: | auth_invalid_encoding.diff added |
|---|
Updated patch which fixes unknown as well as invalid (None) encodings
Fixed traceback.