Skip Montanaro wrote: > On Sun, Feb 1, 2015 at 11:20 AM, Peter Otten <__pete...@web.de> wrote: >> Try setting the environment variable >> >> PYTHONIOENCODING=UTF-8 > > Thanks, but that didn't help. I still get the same exception.
The pager is invoked by os.popen(), and after some digging I find that it uses a io.TestIOWrapper() to write the help text. This in turn uses locale.getpreferredencoding(False), i. e. you were right to set LANG and PYTHONIOENCODING is not relevant. I'm able to provoke what I think causes your problem on linux with Python 3.4: $ LANG=en_US.utf-8 python3 -c 'import os; os.popen("cat", "w").write("\xe4\n")' รค $ LANG=en_US.ascii python3 -c 'import os; os.popen("cat", "w").write("\xe4\n")' Traceback (most recent call last): File "<string>", line 1, in <module> UnicodeEncodeError: 'ascii' codec can't encode character '\xe4' in position 0: ordinal not in range(128) Perhaps LANG=en_US.utf-8 is not understood by your system (uppercase UTF-8? I really don't know the Mac). What does $ LANG=en_US.UTF-8 python3 -c 'import locale; print(locale.getpreferredencoding(False))' UTF-8 print? -- https://mail.python.org/mailman/listinfo/python-list