diff options
-rw-r--r-- | pym/portage/process.py | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/pym/portage/process.py b/pym/portage/process.py index 5dcf481e2..1b5846883 100644 --- a/pym/portage/process.py +++ b/pym/portage/process.py @@ -4,12 +4,14 @@ # $Id$ -import os import atexit import signal import sys import traceback +from portage import os +from portage import _content_encoding +from portage import _unicode_encode import portage portage.proxy.lazyimport.lazyimport(globals(), 'portage.util:dump_traceback', @@ -182,11 +184,8 @@ def spawn(mycommand, env={}, opt_name=None, fd_pipes=None, returnpid=False, # Avoid a potential UnicodeEncodeError from os.execve(). env_bytes = {} for k, v in env.iteritems(): - if isinstance(k, unicode): - k = k.encode('utf_8', 'replace') - if isinstance(v, unicode): - v = v.encode('utf_8', 'replace') - env_bytes[k] = v + env_bytes[_unicode_encode(k, encoding=_content_encoding)] = \ + _unicode_encode(v, encoding=_content_encoding) env = env_bytes del env_bytes |