A dev.to write-up traces two nights of hex dumps to a shell that exported PYTHONUTF8=1 on the laptop and nothing on the clean Linux box, where open() fell back to the POSIX locale's ASCII codec.
Reality
- Evidence74
- Adoption
- Insufficient
- Hype gap−12
- Incentives68
- Confidence70
A dev.to workflow freezes each json.dumps call site as committed UTF-8 bytes before anyone extracts a helper. The harness pins three dialects in one module and leaves one behaviour change unpinned.
Reality
- Evidence58
- Adoption
- Insufficient
- Hype gap+6
- Incentives20
- Confidence55
open() and subprocess.run(text=True) both fall back to whatever GetACP returns, so a UTF-8 file read on an en-US machine comes back as cp1252 mojibake with no exception raised, and chcp 65001 changes a different setting.
Reality
- Evidence72
- Adoption
- Insufficient
- Hype gap+5
- Incentives18
- Confidence68
A dev.to writeup traces mojibake in a CSV import to Excel silently assuming the wrong encoding. The mangled names then fail search, joins and grouping downstream.
Reality
- Evidence61
- Adoption
- Insufficient
- Hype gap+8
- Incentives34
- Confidence58
A PreToolUse hook on an AI coding agent returned "allow" for every file under a non-ASCII directory name, for weeks, with no log line and no exception.
Reality
- Evidence63
- Adoption12
- Hype gap−5
- Incentives42
- Confidence55