<div dir="ltr">Hi Victor,<br><br>2017-01-06 13:01 GMT+01:00 Victor Stinner <<a href="mailto:victor.stinner@gmail.com" target="_blank">victor.stinner@gmail.com</a>>:<br>><br>> What do you mean by "eating mojibake"? <div><br></div><div>OK, I erroneously understood that the failure mode was that mojibake was produced.</div><div><br></div><div>> Users complain because their<br>> application is stopped by a Python exception. </div><div><br></div><div>Got it.</div><div><br></div><div>> Currently, most Python 3<br>> applications doesn't produce or display mojibake, since Python is<br>> strict on outputs. (One exception: stdout with the POSIX locale since<br>> Python 3.5).</div><div><br></div><div>OK, I now tried it myself and indeed it produces the following error:</div><div><br></div><div>UnicodeEncodeError: 'ascii' codec can't encode character '\xfe' in position 0: ordinal not in range(128)<br></div><div><br></div><div>My suggestion would be to make this error message more specific.</div><div>In particular, if we have LC_TYPE/LANG=C or unset, </div><div>we could print something like the following information</div><div>(on Linux only):</div><div><br></div><div>"""</div><div>You are attempting to use non-ASCII Unicode characters while your system</div><div>has been configured (possibly erroneously) to operate in the legacy "C" locale,</div><div>which is pure ASCII.</div><div>It is strongly recommended that you configure your system to allow arbitrary non-ASCII</div><div>Unicode characters This can be done by configuring a UTF-8 locale, for example:</div><div><br></div><div>    export LANG=en_US.UTF-8  </div><div><br></div><div>Use: </div><div>    locale -a | grep UTF-8</div><div><br></div><div>to get a list of all valid UTF-8 locales on your system.</div><div>"""</div><div><br></div><div>Stephan</div></div>