This is a very bad idea.
It seems to based on an assumption that the C locale is always some kind of pathology. Admittedly, it sometimes is a result of misconfiguration or a mistake. (But I don't see why it's the interpreter's job to correct such mistakes.) However, in some cases the C locale is a normal environment for system services, cron scripts, distro package builds and whatnot.
It's possible to write Python programs that are locale-agnostic.
It's also possible to write programs that are locale-dependent, but handle ASCII as locale encoding gracefully.
Or you might want to write a program that intentionally aborts with an explanatory error message when the locale encoding doesn't have sufficient Unicode coverage. ("Errors should never pass silently" anyone?)
With this proposal, none of the above seems possible to correctly implement in Python.
* Nick Coghlan <ncoghlan@gmail.com>, 2017-03-05, 17:50:
While this PEP ensures that developers that need to do so can still opt-in to running their Python code in the legacy C locale,
Yeah, no, it doesn't.
It's impossible do disable coercion from Python code, because it happens to early. The best you can do is to write a wrapper script in a different language that sets PYTHONCOERCECLOCALE=0; but then you still get a spurious warning.