Use java's tools instead of jython. Python2 has horrible encoding support. Since jython runs in java, it can call java classes to perform network communication with encoding support. Look especially at system.net.httpClient(), which has modern TLS support.
(You can probably get the last python2.7 version of requests to work. Others have.)
This is a known thing with no real satisfactory "fix" beyond, as Phil said, avoiding Jython stdlib stuff. My hunch is that it's a Jython bug we'll have to diagnose and fix.
The bug and solution is linked in the thread you linked.
The class Codec is declared as an old-style class without the explicit (object) superclass. If you modify codecs.py in pylib the problem goes away.
Does Inductive maintain their own fork of Jython? If this gets pulled into the primary Jython repo how long would it take to make it into Ignition? Is Jython even maintained at all anymore?
But note, IA (and I) strongly recommend you not use the jython stdlib for technology that is present in java's stdlib or in any jar that IA ships with Ignition (quite a few). Jython gives you near-perfect access to everything java can do, with current, supportable functionality. That is the Right Answer™.
I am not using the stdlib. I am using a third party python library. I briefly looked into using the java version of the library but from what I understand the jar won't get backedup but the python in site-packages will. I've written java modules for Ignition before but it's a significnaly more painful process for both me and the customer than using Python. I have various work-arounds for this but thought it would be nice to finally get the bug fixed.
I updated our internal ticket to recommend we try out the workaround mentioned in that Github issue. We'll have to do our own testing, but I see no reason we can't make those changes in our fork of Jython.