Okay, chardet is detecting perfect UTF-8 content as Turkish just because of an emoji. Behold (a screencast):
[](https://asciinema.org/a/OOh1ATawBCNHWPAXEYMFqeCEA)
Facepalm.
Also, TIL [chardet/chardet](https://github.com/chardet/chardet) is not a binding for uchardet, which detects this perfectly, as demonstrated above.
Therefore, caterpillar v0.8 didn't solve the encoding problem; it caused the encoding problem. v0.9 fixes it.