taiga-back icon indicating copy to clipboard operation
taiga-back copied to clipboard

Throw 'ascii' codec can't encode character '\xe9' when inviting someone to a project

Open NokiDev opened this issue 4 years ago • 2 comments

Do you want to request a feature or report a bug?

A Bug

What is the current behavior?

Throwing

If the current behavior is a bug, please provide the steps to reproduce.

Get a user from an LDAP server with an accentuated char in it's cn (Full Name) and try to invite him to a project trough an email

Note : my LC_TYPE is set to fr_FR.UTF-8 and TAIGA_DEFAULT_LOCALE set to fr

If that matter I'm using https://github.com/riotkit-org/docker-taiga setups scripts

What is the expected behavior?

Not throwing

Is it happening in taiga.io or in your own instance?

My own

What browser/version are you using?

N/A but Firefox 70.0.1

Are there any console errors (Ctrl + F12) in red?

ERROR:2019-11-25 00:00:15,272: Internal Server Error: /api/v1/memberships/bulk_create
 Traceback (most recent call last):
 File "/usr/local/lib/python3.6/site-packages/django/core/handlers/exception.py", line 41, in inner
  response = get_response(request)
 File "/usr/local/lib/python3.6/site-packages/django/core/handlers/base.py", line 249, in _legacy_get_response
  response = self._get_response(request)
 File "/usr/local/lib/python3.6/site-packages/django/core/handlers/base.py", line 187, in _get_response
   response = self.process_exception_by_middleware(e, request)
  File "/usr/local/lib/python3.6/site-packages/django/core/handlers/base.py", line 185, in _get_response
  response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/usr/src/taiga-back/taiga/base/api/viewsets.py", line 106, in view
   return self.dispatch(request, *args, **kwargs)
  File "/usr/local/lib/python3.6/site-packages/django/views/decorators/csrf.py", line 58, in wrapped_view
   return view_func(*args, **kwargs)
  File "/usr/src/taiga-back/taiga/base/api/views.py", line 460, in dispatch
  response = self.handle_exception(exc)
 File "/usr/src/taiga-back/taiga/base/api/views.py", line 458, in dispatch
  response = handler(request, *args, **kwargs)
 File "/usr/src/taiga-back/taiga/projects/api.py", line 1002, in bulk_create
precall=self.pre_save)
 File "/usr/src/taiga-back/taiga/projects/services/members.py", line 65, in create_members_in_bulk
  db.save_in_bulk(members, callback, precall)
File "/usr/local/lib/python3.6/contextlib.py", line 52, in inner
  return func(*args, **kwds)
 File "/usr/src/taiga-back/taiga/base/utils/db.py", line 99, in save_in_bulk
  callback(instance, created=created)
  File "/usr/src/taiga-back/taiga/projects/api.py", line 1078, in post_save
  services.send_invitation(invitation=object)
File "/usr/src/taiga-back/taiga/projects/services/invitations.py", line 34, in send_invitation  
 email.send()
 File "/usr/local/lib/python3.6/site-packages/django/core/mail/message.py", line 348, in send
 return self.get_connection(fail_silently).send_messages([self])
 File "/usr/local/lib/python3.6/site-packages/django/core/mail/backends/console.py", line 36, in send_messages
self.write_message(message)
File "/usr/local/lib/python3.6/site-packages/django/core/mail/backends/console.py", line 23, in write_message
self.stream.write('%s\n' % msg_data)
UnicodeEncodeError: 'ascii' codec can't encode character '\xe9' in position 474: ordinal not in range(128)

NokiDev avatar Nov 25 '19 00:11 NokiDev

taiga-back version 5.0.10 here and getting a suspiciously similar error:

UnicodeEncodeError: 'ascii' codec can't encode characters in position 11143-11145: ordinal not in range(128)

I'm not using any accent just a simple plain email... was using with "italian" localization, reverted to "en" but still no luck.

Thanks.

Edit: here's the full error, which was generated while trying to add new users to a new project. Taiga is freshly installed so can do any test:

taiga_1  | 2020-04-24 02:19:33,403 DEBG 'backend' stderr output:
taiga_1  | ERROR:2020-04-24 02:19:33,377: Internal Server Error: /api/v1/memberships/bulk_create      
taiga_1  | Traceback (most recent call last):
taiga_1  |   File "/usr/local/lib/python3.6/site-packages/django/core/handlers/exception.py", line 41, in inner
taiga_1  |     response = get_response(request)
taiga_1  |   File "/usr/local/lib/python3.6/site-packages/django/core/handlers/base.py", line 249, in _legacy_get_response 
taiga_1  |     response = self._get_response(request)                                                                     
taiga_1  |   File "/usr/local/lib/python3.6/site-packages/django/core/handlers/base.py", line 187, in _get_response
taiga_1  |     response = self.process_exception_by_middleware(e, request)
taiga_1  |   File "/usr/local/lib/python3.6/site-packages/django/core/handlers/base.py", line 185, in _get_response
taiga_1  |     response = wrapped_callback(request, *callback_args, **callback_kwargs)                                                                                                                                                               taiga_1  |   File "/usr/src/taiga-back/taiga/base/api/viewsets.py", line 106, in view                                                                                                                                                                taiga_1  |     return self.dispatch(request, *args, **kwargs)                                                                                                                                                                                        taiga_1  |   File "/usr/local/lib/python3.6/site-packages/django/views/decorators/csrf.py", line 58, in wrapped_view                                                                                                                                 taiga_1  |     return view_func(*args, **kwargs)                                                                                                                                                                                                     
taiga_1  |   File "/usr/src/taiga-back/taiga/base/api/views.py", line 460, in dispatch
taiga_1  |     response = self.handle_exception(exc)                                                                      
taiga_1  |   File "/usr/src/taiga-back/taiga/base/api/views.py", line 458, in dispatch
taiga_1  |     response = handler(request, *args, **kwargs)
taiga_1  |   File "/usr/src/taiga-back/taiga/projects/api.py", line 1002, in bulk_create
taiga_1  |     precall=self.pre_save)                                                                                     
taiga_1  |   File "/usr/src/taiga-back/taiga/projects/services/members.py", line 65, in create_members_in_bulk
taiga_1  |     db.save_in_bulk(members, callback, precall)
taiga_1  |   File "/usr/local/lib/python3.6/contextlib.py", line 52, in inner
taiga_1  |     return func(*args, **kwds)
taiga_1  |   File "/usr/src/taiga-back/taiga/base/utils/db.py", line 99, in save_in_bulk
taiga_1  |     callback(instance, created=created)
taiga_1  |   File "/usr/src/taiga-back/taiga/projects/api.py", line 1078, in post_save
taiga_1  |     services.send_invitation(invitation=object)
taiga_1  |   File "/usr/src/taiga-back/taiga/projects/services/invitations.py", line 34, in send_invitation
taiga_1  |     email.send()
taiga_1  |   File "/usr/local/lib/python3.6/site-packages/django/core/mail/message.py", line 348, in send
taiga_1  |     return self.get_connection(fail_silently).send_messages([self])
taiga_1  |   File "/usr/local/lib/python3.6/site-packages/django/core/mail/backends/console.py", line 36, in send_messages 
taiga_1  |     self.write_message(message)
taiga_1  |   File "/usr/local/lib/python3.6/site-packages/django/core/mail/backends/console.py", line 23, in write_message 
taiga_1  |     self.stream.write('%s\n' % msg_data)
taiga_1  | UnicodeEncodeError: 'ascii' codec can't encode characters in position 11143-11145: ordinal not in range(128)

eldios avatar Apr 24 '20 02:04 eldios

found the error... had to add the env variable:

PYTHONIOENCODING=utf8

and everything worked again

eldios avatar Apr 24 '20 13:04 eldios